
//-------------------------------------------------------------------------
//   Copyright 2002-2023 National Technology & Engineering Solutions of
//   Sandia, LLC (NTESS).  Under the terms of Contract DE-NA0003525 with
//   NTESS, the U.S. Government retains certain rights in this software.
//
//   This file is part of the Xyce(TM) Parallel Electrical Simulator.
//
//   Xyce(TM) is free software: you can redistribute it and/or modify
//   it under the terms of the GNU General Public License as published by
//   the Free Software Foundation, either version 3 of the License, or
//   (at your option) any later version.
//
//   Xyce(TM) is distributed in the hope that it will be useful,
//   but WITHOUT ANY WARRANTY; without even the implied warranty of
//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//   GNU General Public License for more details.
//
//   You should have received a copy of the GNU General Public License
//   along with Xyce(TM).
//   If not, see <http://www.gnu.org/licenses/>.
//-------------------------------------------------------------------------


//-------------------------------------------------------------------------
//
// Purpose        :
//
// Special Notes  : Generated from verilog file bjt504.va with ADMS
//                  interface for Xyce 7.7.0
//                  DO NOT EDIT THIS FILE DIRECTLY!  It may be overwritten!
//
// Creator        : admsXml-2.3.7
//
// Creation Date  : Mon, 09 Jan 2023 12:53:30
//
//-------------------------------------------------------------------------
// Shut up clang's warnings about extraneous parentheses
#ifdef __clang__
#  pragma clang diagnostic ignored "-Wparentheses-equality"
#endif

#include <Xyce_config.h>
#include <N_DEV_ADMSbjt504va.h>


#include <N_DEV_Const.h>
#include <N_DEV_DeviceOptions.h>
#include <N_DEV_DeviceMaster.h>
#include <N_DEV_ExternData.h>
#include <N_DEV_SolverState.h>
#include <N_DEV_Message.h>

#include <N_LAS_Matrix.h>
#include <N_LAS_Vector.h>

  #include <N_ANP_NoiseData.h>

#include <N_UTL_FeatureTest.h>
#include <unordered_map>
using std::unordered_map;

#include <algorithm>

// Xyce_config.h contains a VERSION macro from autoconf, and some
// Verilog-A models like to define a variable of that name.  This can be
// a serious problem, and we don't need the VERSION macro.  Get rid of it.
// This must happen *after* all includes of Xyce headers, each of which
// includes Xyce_config.h!
#ifdef VERSION
#undef VERSION
#endif

namespace Xyce {
namespace Device {
namespace ADMSbjt504va {
namespace AnalogFunctions {
double trunc_ev(double Val, double Vprev, double Vmin, double Vmax)
{
double trunc_ev;
double result;
{
result = Val;
if ((Val>Vmax))
{
if ((Vprev>(Vmax-0.05)))
{
if (((Val-Vprev)>0.05))
{
result = (Vprev+0.05);
}
}
else
{
result = Vmax;
}
}
else
{
if ((Val<Vmin))
{
if ((Vprev<(0.9*Vmin)))
{
if ((Val<((1.5*Vprev)+(0.10*Vmin))))
{
result = ((1.5*Vprev)+(0.10*Vmin));
}
}
else
{
result = Vmin;
}
}
}
trunc_ev = result;
}
return(trunc_ev);
}
// Derivative of Analog Function trunc_ev
double d_trunc_ev(double Val , double Vprev , double Vmin , double Vmax  , double d_Val , double d_Vprev , double d_Vmin , double d_Vmax )
{
// Function return variable and total deriv
double trunc_ev;
double d_trunc_ev;
// Derivatives of return value w.r.t input vars
double d_trunc_ev_d_Val=0;
double d_trunc_ev_d_Vprev=0;
double d_trunc_ev_d_Vmin=0;
double d_trunc_ev_d_Vmax=0;
double result;
double d_result_d_Val;
double d_result_d_Vprev;
double d_result_d_Vmin;
double d_result_d_Vmax;
{
d_result_d_Val=1.0;
d_result_d_Vprev=0.0;
d_result_d_Vmin=0.0;
d_result_d_Vmax=0.0;
result=Val;
if((Val>Vmax))
{
if((Vprev>(Vmax-0.05)))
{
if(((Val-Vprev)>0.05))
{
d_result_d_Val=0.0;
d_result_d_Vprev=1.0;
d_result_d_Vmin=0.0;
d_result_d_Vmax=0.0;
result=(Vprev+0.05);
}
}
else
{
d_result_d_Val=0.0;
d_result_d_Vprev=0.0;
d_result_d_Vmin=0.0;
d_result_d_Vmax=1.0;
result=Vmax;
}
}
else
{
if((Val<Vmin))
{
if((Vprev<(0.9*Vmin)))
{
if((Val<((1.5*Vprev)+(0.10*Vmin))))
{
d_result_d_Val=0.0;
d_result_d_Vprev=(1.5);
d_result_d_Vmin=(0.10);
d_result_d_Vmax=0.0;
result=((1.5*Vprev)+(0.10*Vmin));
}
}
else
{
d_result_d_Val=0.0;
d_result_d_Vprev=0.0;
d_result_d_Vmin=1.0;
d_result_d_Vmax=0.0;
result=Vmin;
}
}
}
d_trunc_ev_d_Val=d_result_d_Val;
d_trunc_ev_d_Vprev=d_result_d_Vprev;
d_trunc_ev_d_Vmin=d_result_d_Vmin;
d_trunc_ev_d_Vmax=d_result_d_Vmax;
trunc_ev=result;
}
d_trunc_ev = d_trunc_ev_d_Val*d_Val+d_trunc_ev_d_Vprev*d_Vprev+d_trunc_ev_d_Vmin*d_Vmin+d_trunc_ev_d_Vmax*d_Vmax;
return(d_trunc_ev);
}

// Evaluator class implementations for Analog Function trunc_ev
  // Constructor
  trunc_evEvaluator::trunc_evEvaluator(double Val, double Vprev, double Vmin, double Vmax)
  {
    trunc_evReturn_ = evaluator_(Val, Vprev, Vmin, Vmax);
  }
  // method to get precomputed values into double vars 
  double trunc_evEvaluator::getValues(double  Val, double  Vprev, double  Vmin, double  Vmax)
  {
    // Silence unused argument warnings
    (void) Val;
    (void) Vprev;
    (void) Vmin;
    (void) Vmax;
    // Copy all precomputed values into corresponding output
    return(trunc_evReturn_.value);
  }
  // method to get total deriv w.r.t some variable via chain rule 
  // given precomputed derivs of function w.r.t. args and derivs of args
  // w.r.t desired vars
  double trunc_evEvaluator::getDerivs(double Val , double Vprev , double Vmin , double Vmax  , double d_Val, double d_Vprev, double d_Vmin, double d_Vmax)
  {
    // Function total deriv
    double d_trunc_ev;
    // Silence unused argument warnings
    (void) Val;
    (void) Vprev;
    (void) Vmin;
    (void) Vmax;
    d_trunc_ev = trunc_evReturn_.deriv_WRT_Val*d_Val+trunc_evReturn_.deriv_WRT_Vprev*d_Vprev+trunc_evReturn_.deriv_WRT_Vmin*d_Vmin+trunc_evReturn_.deriv_WRT_Vmax*d_Vmax;
    return(d_trunc_ev);
  }
  // method that actually performs our computations.
  trunc_evEvaluator::returnType trunc_evEvaluator::evaluator_(double Val, double Vprev, double Vmin, double Vmax)
  {
  // Function value and derivs variables, and a returnType to store everything
  double trunc_ev;
  trunc_evEvaluator::returnType trunc_evReturn;
  // Derivatives of return value w.r.t input vars
  double d_trunc_ev_d_Val=0;
  double d_trunc_ev_d_Vprev=0;
  double d_trunc_ev_d_Vmin=0;
  double d_trunc_ev_d_Vmax=0;
  // declared local variables
  double result;
  double d_result_d_Val=0;
  double d_result_d_Vprev=0;
  double d_result_d_Vmin=0;
  double d_result_d_Vmax=0;
{
d_result_d_Val=1.0;
d_result_d_Vprev=0.0;
d_result_d_Vmin=0.0;
d_result_d_Vmax=0.0;
result=Val;
if((Val>Vmax))
{
if((Vprev>(Vmax-0.05)))
{
if(((Val-Vprev)>0.05))
{
d_result_d_Val=0.0;
d_result_d_Vprev=1.0;
d_result_d_Vmin=0.0;
d_result_d_Vmax=0.0;
result=(Vprev+0.05);
}
}
else
{
d_result_d_Val=0.0;
d_result_d_Vprev=0.0;
d_result_d_Vmin=0.0;
d_result_d_Vmax=1.0;
result=Vmax;
}
}
else
{
if((Val<Vmin))
{
if((Vprev<(0.9*Vmin)))
{
if((Val<((1.5*Vprev)+(0.10*Vmin))))
{
d_result_d_Val=0.0;
d_result_d_Vprev=(1.5);
d_result_d_Vmin=(0.10);
d_result_d_Vmax=0.0;
result=((1.5*Vprev)+(0.10*Vmin));
}
}
else
{
d_result_d_Val=0.0;
d_result_d_Vprev=0.0;
d_result_d_Vmin=1.0;
d_result_d_Vmax=0.0;
result=Vmin;
}
}
}
d_trunc_ev_d_Val=d_result_d_Val;
d_trunc_ev_d_Vprev=d_result_d_Vprev;
d_trunc_ev_d_Vmin=d_result_d_Vmin;
d_trunc_ev_d_Vmax=d_result_d_Vmax;
trunc_ev=result;
}
  // now save outputs and derivs into appropriate return vars
  trunc_evReturn.value=trunc_ev;
  trunc_evReturn.deriv_WRT_Val = d_trunc_ev_d_Val;
  trunc_evReturn.deriv_WRT_Vprev = d_trunc_ev_d_Vprev;
  trunc_evReturn.deriv_WRT_Vmin = d_trunc_ev_d_Vmin;
  trunc_evReturn.deriv_WRT_Vmax = d_trunc_ev_d_Vmax;
  return(trunc_evReturn);
  }

} // namepace AnalogFunctions


//This is necessary because the IntPair usage can trip undefined references
    const int Instance::admsNodeID_c;
    const int Instance::admsNodeID_b;
    const int Instance::admsNodeID_e;
    const int Instance::admsNodeID_s;
    const int Instance::admsNodeID_e1;
    const int Instance::admsNodeID_b1;
    const int Instance::admsNodeID_b2;
    const int Instance::admsNodeID_c1;
    const int Instance::admsNodeID_c2;
    const int Instance::admsNodeID_c3;
    const int Instance::admsNodeID_c4;
    const int Instance::admsNodeID_noi;
     const int Instance::admsNodeID_GND;
   // Additional IDs for branch equations


void
Traits::loadInstanceParameters(ParametricData<ADMSbjt504va::Instance> &p)
{
  // Set up each parameter directly, using the up-cased variable name
  // as the tag.

  // This kludge is to force us always to have an instance parameter
  // that the device manager can set to the temperature, even if we have
  // no "TEMP".
  p.addPar("XYCEADMSINSTTEMP", 0.0, &ADMSbjt504va::Instance::admsInstTemp)
    .setExpressionAccess(NO_DOC)
    .setUnit(U_DEGK)
    .setCategory(CAT_TEMP)
    .setDescription("Internal-use parameter for setting device instance temperature");
  p.addPar("MULT", static_cast<double>(1.0), &ADMSbjt504va::Instance::MULT)
    .setUnit(U_UNKNOWN)
    .setDescription("Multiplication factor")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&instSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("M", static_cast<double>(1.0), &ADMSbjt504va::Instance::MULT)
    .setUnit(U_UNKNOWN)
    .setDescription(" Alias for MULT")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&instSens)
#endif // Xyce_ADMS_SENSITIVITIES
;


}

void Traits::loadModelParameters(ParametricData<ADMSbjt504va::Model> &p)
{
  // Set up each parameter directly, using the up-cased variable name
  // as the tag.

  // This kludge is to force us always to have a model parameter
  // that the device manager can set to the temperature, even if we have
  // no "TEMP".
  p.addPar("XYCEADMSMODTEMP", 0.0, &ADMSbjt504va::Model::admsModTemp)
    .setExpressionAccess(NO_DOC)
    .setUnit(U_DEGK)
    .setCategory(CAT_TEMP)
    .setDescription("Internal-use parameter for setting device model temperature");
  p.addPar("LEVEL", static_cast<int>(504), &ADMSbjt504va::Model::LEVEL)
    .setUnit(U_UNKNOWN)
    .setDescription("Model level");
  p.addPar("TREF", static_cast<double>(25.0), &ADMSbjt504va::Model::TREF)
    .setUnit(U_UNKNOWN)
    .setDescription("Reference temperature")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("DTA", static_cast<double>(0.0), &ADMSbjt504va::Model::DTA)
    .setUnit(U_UNKNOWN)
    .setDescription("Difference between the local and global ambient temperatures")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("EXMOD", static_cast<int>(1), &ADMSbjt504va::Model::EXMOD)
    .setUnit(U_UNKNOWN)
    .setDescription("Flag for extended modeling of the reverse current gain");
  p.addPar("EXPHI", static_cast<int>(1), &ADMSbjt504va::Model::EXPHI)
    .setUnit(U_UNKNOWN)
    .setDescription("Flag for the distributed high-frequency effects in transient");
  p.addPar("EXAVL", static_cast<int>(0), &ADMSbjt504va::Model::EXAVL)
    .setUnit(U_UNKNOWN)
    .setDescription("Flag for extended modeling of avalanche currents");
  p.addPar("EXSUB", static_cast<int>(0), &ADMSbjt504va::Model::EXSUB)
    .setUnit(U_UNKNOWN)
    .setDescription("Flag for extended modelling of substrate currents");
  p.addPar("IS", static_cast<double>(22.0*1.0e-18), &ADMSbjt504va::Model::IS)
    .setUnit(U_UNKNOWN)
    .setDescription("Collector-emitter saturation current")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("IK", static_cast<double>(0.1), &ADMSbjt504va::Model::IK)
    .setUnit(U_UNKNOWN)
    .setDescription("Collector-emitter high injection knee current")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("VER", static_cast<double>(2.5), &ADMSbjt504va::Model::VER)
    .setUnit(U_UNKNOWN)
    .setDescription("Reverse Early voltage")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("VEF", static_cast<double>(44.0), &ADMSbjt504va::Model::VEF)
    .setUnit(U_UNKNOWN)
    .setDescription("Forward Early voltage")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("BF", static_cast<double>(215.0), &ADMSbjt504va::Model::BF)
    .setUnit(U_UNKNOWN)
    .setDescription("Ideal forward current gain")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("IBF", static_cast<double>(2.7*1.0e-15), &ADMSbjt504va::Model::IBF)
    .setUnit(U_UNKNOWN)
    .setDescription("Saturation current of the non-ideal forward base current")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("MLF", static_cast<double>(2.0), &ADMSbjt504va::Model::MLF)
    .setUnit(U_UNKNOWN)
    .setDescription("Non-ideality factor of the non-ideal forward base current")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("XIBI", static_cast<double>(0.0), &ADMSbjt504va::Model::XIBI)
    .setUnit(U_UNKNOWN)
    .setDescription("Part of ideal base current that belongs to the sidewall")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("IZEB", static_cast<double>(0.0), &ADMSbjt504va::Model::IZEB)
    .setUnit(U_UNKNOWN)
    .setDescription("Pre-factor of emitter-base Zener tunneling current")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("NZEB", static_cast<double>(22.0), &ADMSbjt504va::Model::NZEB)
    .setUnit(U_UNKNOWN)
    .setDescription("Coefficient of emitter-base Zener tunneling current")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("BRI", static_cast<double>(7.0), &ADMSbjt504va::Model::BRI)
    .setUnit(U_UNKNOWN)
    .setDescription("Ideal reverse current gain")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("IBR", static_cast<double>(1.0*1.0e-15), &ADMSbjt504va::Model::IBR)
    .setUnit(U_UNKNOWN)
    .setDescription("Saturation current of the non-ideal reverse base current")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("VLR", static_cast<double>(0.2), &ADMSbjt504va::Model::VLR)
    .setUnit(U_UNKNOWN)
    .setDescription("Cross-over voltage of the non-ideal reverse base current")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("XEXT", static_cast<double>(0.63), &ADMSbjt504va::Model::XEXT)
    .setUnit(U_UNKNOWN)
    .setDescription("Part of currents and charges that belong to extrinsic region")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("WAVL", static_cast<double>(1.1*1.0e-6), &ADMSbjt504va::Model::WAVL)
    .setUnit(U_UNKNOWN)
    .setDescription("Epilayer thickness used in weak-avalanche model")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("VAVL", static_cast<double>(3.0), &ADMSbjt504va::Model::VAVL)
    .setUnit(U_UNKNOWN)
    .setDescription("Voltage determining curvature of avalanche current")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("SFH", static_cast<double>(0.3), &ADMSbjt504va::Model::SFH)
    .setUnit(U_UNKNOWN)
    .setDescription("Current spreading factor of avalanche model when EXAVL=1")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("RE", static_cast<double>(5.0), &ADMSbjt504va::Model::RE)
    .setUnit(U_UNKNOWN)
    .setDescription("Emitter resistance")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("RBC", static_cast<double>(23.0), &ADMSbjt504va::Model::RBC)
    .setUnit(U_UNKNOWN)
    .setDescription("Constant part of the base resistance")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("RBV", static_cast<double>(18.0), &ADMSbjt504va::Model::RBV)
    .setUnit(U_UNKNOWN)
    .setDescription("Zero-bias value of the variable part of the base resistance")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("RCC", static_cast<double>(12.0), &ADMSbjt504va::Model::RCC)
    .setUnit(U_UNKNOWN)
    .setDescription("Constant part of the collector resistance")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("RCV", static_cast<double>(150.0), &ADMSbjt504va::Model::RCV)
    .setUnit(U_UNKNOWN)
    .setDescription("Resistance of the un-modulated epilayer")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("SCRCV", static_cast<double>(1250.0), &ADMSbjt504va::Model::SCRCV)
    .setUnit(U_UNKNOWN)
    .setDescription("Space charge resistance of the epilayer")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("IHC", static_cast<double>(4.0*1.0e-3), &ADMSbjt504va::Model::IHC)
    .setUnit(U_UNKNOWN)
    .setDescription("Critical current for velocity saturation in the epilayer")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("AXI", static_cast<double>(0.3), &ADMSbjt504va::Model::AXI)
    .setUnit(U_UNKNOWN)
    .setDescription("Smoothness parameter for the onset of quasi-saturation")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("CJE", static_cast<double>(73.0*1.0e-15), &ADMSbjt504va::Model::CJE)
    .setUnit(U_UNKNOWN)
    .setDescription("Zero-bias emitter-base depletion capacitance")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("VDE", static_cast<double>(0.95), &ADMSbjt504va::Model::VDE)
    .setUnit(U_UNKNOWN)
    .setDescription("Emitter-base diffusion voltage")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("PE", static_cast<double>(0.4), &ADMSbjt504va::Model::PE)
    .setUnit(U_UNKNOWN)
    .setDescription("Emitter-base grading coefficient")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("XCJE", static_cast<double>(0.4), &ADMSbjt504va::Model::XCJE)
    .setUnit(U_UNKNOWN)
    .setDescription("Sidewall fraction of the emitter-base depletion capacitance")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("CBEO", static_cast<double>(0.0), &ADMSbjt504va::Model::CBEO)
    .setUnit(U_UNKNOWN)
    .setDescription("Emitter-base overlap capacitance")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("CJC", static_cast<double>(78.0*1.0e-15), &ADMSbjt504va::Model::CJC)
    .setUnit(U_UNKNOWN)
    .setDescription("Zero-bias collector-base depletion capacitance")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("VDC", static_cast<double>(0.68), &ADMSbjt504va::Model::VDC)
    .setUnit(U_UNKNOWN)
    .setDescription("Collector-base diffusion voltage")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("PC", static_cast<double>(0.5), &ADMSbjt504va::Model::PC)
    .setUnit(U_UNKNOWN)
    .setDescription("Collector-base grading coefficient")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("XP", static_cast<double>(0.35), &ADMSbjt504va::Model::XP)
    .setUnit(U_UNKNOWN)
    .setDescription("Constant part of Cjc")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("MC", static_cast<double>(0.5), &ADMSbjt504va::Model::MC)
    .setUnit(U_UNKNOWN)
    .setDescription("Coefficient for current modulation of CB depletion capacitance")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("XCJC", static_cast<double>(32.0*1.0e-3), &ADMSbjt504va::Model::XCJC)
    .setUnit(U_UNKNOWN)
    .setDescription("Fraction of CB depletion capacitance under the emitter")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("RCBLX", static_cast<double>(0.0), &ADMSbjt504va::Model::RCBLX)
    .setUnit(U_UNKNOWN)
    .setDescription("Resistance Collector Buried Layer eXtrinsic")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("RCBLI", static_cast<double>(0.0), &ADMSbjt504va::Model::RCBLI)
    .setUnit(U_UNKNOWN)
    .setDescription("Resistance Collector Buried Layer Intrinsic")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("CBCO", static_cast<double>(0.0), &ADMSbjt504va::Model::CBCO)
    .setUnit(U_UNKNOWN)
    .setDescription("Collector-base overlap capacitance")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("MTAU", static_cast<double>(1.0), &ADMSbjt504va::Model::MTAU)
    .setUnit(U_UNKNOWN)
    .setDescription("Non-ideality factor of the emitter stored charge")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("TAUE", static_cast<double>(2.0*1.0e-12), &ADMSbjt504va::Model::TAUE)
    .setUnit(U_UNKNOWN)
    .setDescription("Minimum transit time of stored emitter charge")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("TAUB", static_cast<double>(4.2*1.0e-12), &ADMSbjt504va::Model::TAUB)
    .setUnit(U_UNKNOWN)
    .setDescription("Transit time of stored base charge")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("TEPI", static_cast<double>(41.0*1.0e-12), &ADMSbjt504va::Model::TEPI)
    .setUnit(U_UNKNOWN)
    .setDescription("Transit time of stored epilayer charge")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("TAUR", static_cast<double>(520.0*1.0e-12), &ADMSbjt504va::Model::TAUR)
    .setUnit(U_UNKNOWN)
    .setDescription("Transit time of reverse extrinsic stored base charge")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("DEG", static_cast<double>(0.0), &ADMSbjt504va::Model::DEG)
    .setUnit(U_UNKNOWN)
    .setDescription("Bandgap difference over the base")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("XREC", static_cast<double>(0.0), &ADMSbjt504va::Model::XREC)
    .setUnit(U_UNKNOWN)
    .setDescription("Pre-factor of the recombination part of Ib1")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("XQB", static_cast<double>(0.33333333333333333333), &ADMSbjt504va::Model::XQB)
    .setUnit(U_UNKNOWN)
    .setDescription("Emitter-fraction of base diffusion charge")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("AQBO", static_cast<double>(0.3), &ADMSbjt504va::Model::AQBO)
    .setUnit(U_UNKNOWN)
    .setDescription("Temperature coefficient of the zero-bias base charge")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("AE", static_cast<double>(0.0), &ADMSbjt504va::Model::AE)
    .setUnit(U_UNKNOWN)
    .setDescription("Temperature coefficient of the resistivity of the emitter")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("AB", static_cast<double>(1.0), &ADMSbjt504va::Model::AB)
    .setUnit(U_UNKNOWN)
    .setDescription("Temperature coefficient of the resistivity of the base")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("AEPI", static_cast<double>(2.5), &ADMSbjt504va::Model::AEPI)
    .setUnit(U_UNKNOWN)
    .setDescription("Temperature coefficient of the resistivity of the epilayer")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("AEX", static_cast<double>(0.62), &ADMSbjt504va::Model::AEX)
    .setUnit(U_UNKNOWN)
    .setDescription("Temperature coefficient of the resistivity of the extrinsic base")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("AC", static_cast<double>(2.0), &ADMSbjt504va::Model::AC)
    .setUnit(U_UNKNOWN)
    .setDescription("Temperature coefficient of the resistivity of the collector contact")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("ACBL", static_cast<double>(2.0), &ADMSbjt504va::Model::ACBL)
    .setUnit(U_UNKNOWN)
    .setDescription("Temperature coefficient of the resistivity of the collector buried layer")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("DVGBF", static_cast<double>(50.0*1.0e-3), &ADMSbjt504va::Model::DVGBF)
    .setUnit(U_UNKNOWN)
    .setDescription("Band-gap voltage difference of the forward current gain")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("DVGBR", static_cast<double>(45.0*1.0e-3), &ADMSbjt504va::Model::DVGBR)
    .setUnit(U_UNKNOWN)
    .setDescription("Band-gap voltage difference of the reverse current gain")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("VGB", static_cast<double>(1.17), &ADMSbjt504va::Model::VGB)
    .setUnit(U_UNKNOWN)
    .setDescription("Band-gap voltage of the base")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("VGC", static_cast<double>(1.18), &ADMSbjt504va::Model::VGC)
    .setUnit(U_UNKNOWN)
    .setDescription("Band-gap voltage of the collector")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("VGJ", static_cast<double>(1.15), &ADMSbjt504va::Model::VGJ)
    .setUnit(U_UNKNOWN)
    .setDescription("Band-gap voltage recombination emitter-base junction")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("VGZEB", static_cast<double>(1.15), &ADMSbjt504va::Model::VGZEB)
    .setUnit(U_UNKNOWN)
    .setDescription("Band-gap voltage at Tref of Zener effect emitter-base junction")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("AVGEB", static_cast<double>(4.73e-4), &ADMSbjt504va::Model::AVGEB)
    .setUnit(U_UNKNOWN)
    .setDescription("Temperature coefficient band-gap voltage for Zener effect emitter-base junction")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("TVGEB", static_cast<double>(636.0), &ADMSbjt504va::Model::TVGEB)
    .setUnit(U_UNKNOWN)
    .setDescription("Temperature coefficient band-gap voltage for Zener effect emitter-base junction")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("DVGTE", static_cast<double>(0.05), &ADMSbjt504va::Model::DVGTE)
    .setUnit(U_UNKNOWN)
    .setDescription("Band-gap voltage difference of emitter stored charge")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("DAIS", static_cast<double>(0.0), &ADMSbjt504va::Model::DAIS)
    .setUnit(U_UNKNOWN)
    .setDescription("Fine tuning of temperature dependence of C-E saturation current")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("AF", static_cast<double>(2.0), &ADMSbjt504va::Model::AF)
    .setUnit(U_UNKNOWN)
    .setDescription("Exponent of the Flicker-noise")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("KF", static_cast<double>(20.0*1.0e-12), &ADMSbjt504va::Model::KF)
    .setUnit(U_UNKNOWN)
    .setDescription("Flicker-noise coefficient of the ideal base current")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("KFN", static_cast<double>(20.0*1.0e-12), &ADMSbjt504va::Model::KFN)
    .setUnit(U_UNKNOWN)
    .setDescription("Flicker-noise coefficient of the non-ideal base current")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("KAVL", static_cast<int>(0), &ADMSbjt504va::Model::KAVL)
    .setUnit(U_UNKNOWN)
    .setDescription("Switch for white noise contribution due to avalanche");
  p.addPar("KC", static_cast<int>(0), &ADMSbjt504va::Model::KC)
    .setUnit(U_UNKNOWN)
    .setDescription("Switch for RF correlation noise model selection");
  p.addPar("KE", static_cast<double>(0.0), &ADMSbjt504va::Model::KE)
    .setUnit(U_UNKNOWN)
    .setDescription("Fraction of QE in excess phase shift")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("FTAUN", static_cast<double>(0.0), &ADMSbjt504va::Model::FTAUN)
    .setUnit(U_UNKNOWN)
    .setDescription("Fraction of noise transit time to total transit time")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("ISS", static_cast<double>(48.0*1.0e-18), &ADMSbjt504va::Model::ISS)
    .setUnit(U_UNKNOWN)
    .setDescription("Base-substrate saturation current")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("ICSS", static_cast<double>((-1.0)), &ADMSbjt504va::Model::ICSS)
    .setUnit(U_UNKNOWN)
    .setDescription("Collector-substrate ideal saturation current")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("IKS", static_cast<double>(250.0*1.0e-6), &ADMSbjt504va::Model::IKS)
    .setUnit(U_UNKNOWN)
    .setDescription("Base-substrate high injection knee current")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("CJS", static_cast<double>(315.0*1.0e-15), &ADMSbjt504va::Model::CJS)
    .setUnit(U_UNKNOWN)
    .setDescription("Zero-bias collector-substrate depletion capacitance")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("VDS", static_cast<double>(0.62), &ADMSbjt504va::Model::VDS)
    .setUnit(U_UNKNOWN)
    .setDescription("Collector-substrate diffusion voltage")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("PS", static_cast<double>(0.34), &ADMSbjt504va::Model::PS)
    .setUnit(U_UNKNOWN)
    .setDescription("Collector-substrate grading coefficient")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("VGS", static_cast<double>(1.20), &ADMSbjt504va::Model::VGS)
    .setUnit(U_UNKNOWN)
    .setDescription("Band-gap voltage of the substrate")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("AS", static_cast<double>(1.58), &ADMSbjt504va::Model::AS)
    .setUnit(U_UNKNOWN)
    .setDescription("Substrate temperature coefficient")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("ASUB", static_cast<double>(2.0), &ADMSbjt504va::Model::ASUB)
    .setUnit(U_UNKNOWN)
    .setDescription("Temperature coefficient for mobility of minorities in the substrate")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("MULT", static_cast<double>(1.0), &ADMSbjt504va::Model::MULT)
    .setUnit(U_UNKNOWN)
    .setDescription("Multiplication factor")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("M", static_cast<double>(1.0), &ADMSbjt504va::Model::MULT)
    .setUnit(U_UNKNOWN)
    .setDescription(" Alias for MULT")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;
  p.addPar("TYPE", static_cast<int>(1), &ADMSbjt504va::Model::TYPE)
    .setUnit(U_UNKNOWN)
    .setDescription("Flag for NPN (1) or PNP (-1) transistor type");
  p.addPar("GMIN", static_cast<double>(1.0e-13), &ADMSbjt504va::Model::GMIN)
    .setUnit(U_UNKNOWN)
    .setDescription("Minimum conductance")
#ifdef Xyce_ADMS_SENSITIVITIES
    .setAnalyticSensitivityAvailable(true)
    .setSensitivityFunctor(&modSens)
#endif // Xyce_ADMS_SENSITIVITIES
;

}

//-----------------------------------------------------------------------------
// Function      : Instance::processParams
// Purpose       :
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
bool Instance::processParams()
{
  // set any non-constant parameter defaults

  // copy any model variables that have associated instance variables, but
  // are only given in the model card:
   if (!(given("MULT")))
   {
      MULT = model_.MULT;
   }



  // Set any parameters that were not given and whose defaults depend on other
  // parameters:


// Now we need to check that any parameters are within their ranges as
  // specified in the verilog:

//    Parameter MULT : ] 0.0,  (+inf) [
  if ( (!((MULT >0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter MULT value " << MULT << " out of range ] 0.0,  (+inf) [";
  }


  // this seems a little stupid, but verilog models that use $temperature
  // don't also use a defined parameter "Temp", and count on $temperature
  // to be the one the simulator wants:

  updateTemperature(admsInstTemp);

  // and of course, this routine is where we should put the initial_instance
  // stuff
  double Tk300=0.0;
  double ICSS_T=0.0;
  double ISS_T=0.0;
  double IZEB_T=0.0;
  double y=0.0;
  double tempx=0.0;
  double IBR_T=0.0;
  double IBF_T=0.0;
  double IK_T=0.0;
  double RCV_T=0.0;
  double RCCin_T=0.0;
  double RCCex_T=0.0;
  double RCCxx_T=0.0;
  double RBC_T=0.0;
  double RBV_T=0.0;
  double RE_T=0.0;
  double CJC_T=0.0;
  double CJCscaleINV=0.0;
  double CJCscale=0.0;
  double CJS_T=0.0;
  double CJE_T=0.0;
  double CJE_T_div_CJE=0.0;
  double UdsT=0.0;
  double UdcT=0.0;
  double UdeT=0.0;
  double lntN=0.0;
  double VdtINV=0.0;
  double VtrINV=0.0;
  double Vtr=0.0;
  double tN=0.0;
  double Vdt=0.0;
  double inv_VDE=0.0;
  double inv_VGZEB_Tr=0.0;
  double VGZEB_Tr=0.0;
  double VGZEBOK=0.0;
  double Tamb=0.0;
  double Trk=0.0;
  double invMULT=0.0;
  double Bn=0.0;
//Begin block initial_instance
{
if (((model_.TYPE)==1))
{
An = 7.03e7;
Bn = 1.23e8;
}
else
{
An = 1.58e8;
Bn = 2.04e8;
}
Xext1 = (1.0-(model_.XEXT));
CBEO_M = ((model_.CBEO)*MULT);
CBCO_M = ((model_.CBCO)*MULT);
invMULT = (1.0/MULT);
SCRCV_M = ((model_.SCRCV)*invMULT);
{
double value_pow_0 = pow(MULT,(1.0-(model_.AF)));
KF_M = ((model_.KF)*value_pow_0);
}
{
double value_pow_0 = pow(MULT,(1.0-((2.0*((model_.MLF)-1.0))+((model_.AF)*(2.0-(model_.MLF))))));
KFN_M = ((model_.KFN)*value_pow_0);
}
{
double value_pow_0 = pow(2.0,(2.0-(model_.PE)));
pow2_2mPE = value_pow_0;
}
pow2_PEm2 = (1.0/pow2_2mPE);
Trk = ((model_.TREF)+273.15);
Tamb = (admsTemperature+(model_.DTA));

d_dxa_dV_s_c1 = d_dxa_dV_b_c = d_dxa_dV_b_b1 = d_dxa_dV_c3_c1 = d_dxa_dV_c3_c4 = d_dxa_dV_b1_b2 = d_dxa_dV_c4_c1 = d_dxa_dV_b1_e1 = d_dxa_dV_b2_e1 = d_dxa_dV_b2_c2 = d_dxa_dV_b2_c1 = d_dxa_dV_c1_c2 =  0.0;
dxa = ((((model_.VGZEB)+((((model_.AVGEB)*Trk)*Trk)/(Trk+(model_.TVGEB))))-0.05)/0.1);
if ((((model_.VGZEB)+((((model_.AVGEB)*Trk)*Trk)/(Trk+(model_.TVGEB))))<0.05))
{
{
double value_exp_0 = exp(dxa);
double value_log_1 = log((1.0+value_exp_0));
VGZEBOK = (0.05+(0.1*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-dxa));
double value_log_1 = log((1.0+value_exp_0));
VGZEBOK = (((model_.VGZEB)+((((model_.AVGEB)*Trk)*Trk)/(Trk+(model_.TVGEB))))+(0.1*value_log_1));
}
}
VGZEB_Tr = (model_.VGZEB);
inv_VGZEB_Tr = (1.0/VGZEB_Tr);
inv_VDE = (1.0/(model_.VDE));
Vdt = 0.0;
Tk = (Tamb+Vdt);
tN = (Tk/Trk);
Vt = (8.61708691805812512584e-5*Tk);
Vtr = (8.61708691805812512584e-5*Trk);
VtINV = (1.0/Vt);
VtrINV = (1.0/Vtr);
VdtINV = (VtINV-VtrINV);
{
double value_log_0 = log(tN);
lntN = value_log_0;
}

d_dxa_dV_s_c1 = d_dxa_dV_b_c = d_dxa_dV_b_b1 = d_dxa_dV_c3_c1 = d_dxa_dV_c3_c4 = d_dxa_dV_b1_b2 = d_dxa_dV_c4_c1 = d_dxa_dV_b1_e1 = d_dxa_dV_b2_e1 = d_dxa_dV_b2_c2 = d_dxa_dV_b2_c1 = d_dxa_dV_c1_c2 =  0.0;
dxa = (((VGZEBOK-((((model_.AVGEB)*Tk)*Tk)/(Tk+(model_.TVGEB))))-0.05)/0.1);
if (((VGZEBOK-((((model_.AVGEB)*Tk)*Tk)/(Tk+(model_.TVGEB))))<0.05))
{
{
double value_exp_0 = exp(dxa);
double value_log_1 = log((1.0+value_exp_0));
VGZEB_T = (0.05+(0.1*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-dxa));
double value_log_1 = log((1.0+value_exp_0));
VGZEB_T = ((VGZEBOK-((((model_.AVGEB)*Tk)*Tk)/(Tk+(model_.TVGEB))))+(0.1*value_log_1));
}
}
{
double value_log_0 = log(tN);
UdeT = (((((-3.0)*Vt)*value_log_0)+((model_.VDE)*tN))+((1.0-tN)*(model_.VGB)));
}

d_dxa_dV_s_c1 = d_dxa_dV_b_c = d_dxa_dV_b_b1 = d_dxa_dV_c3_c1 = d_dxa_dV_c3_c4 = d_dxa_dV_b1_b2 = d_dxa_dV_c4_c1 = d_dxa_dV_b1_e1 = d_dxa_dV_b2_e1 = d_dxa_dV_b2_c2 = d_dxa_dV_b2_c1 = d_dxa_dV_c1_c2 =  0.0;
dxa = ((0.05-UdeT)/Vt);
if ((0.05<UdeT))
{
{
double value_exp_0 = exp(dxa);
double value_log_1 = log((1.0+value_exp_0));
VDE_T = (UdeT+(Vt*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-dxa));
double value_log_1 = log((1.0+value_exp_0));
VDE_T = (0.05+(Vt*value_log_1));
}
}
{
double value_log_0 = log(tN);
UdcT = (((((-3.0)*Vt)*value_log_0)+((model_.VDC)*tN))+((1.0-tN)*(model_.VGC)));
}

d_dxa_dV_s_c1 = d_dxa_dV_b_c = d_dxa_dV_b_b1 = d_dxa_dV_c3_c1 = d_dxa_dV_c3_c4 = d_dxa_dV_b1_b2 = d_dxa_dV_c4_c1 = d_dxa_dV_b1_e1 = d_dxa_dV_b2_e1 = d_dxa_dV_b2_c2 = d_dxa_dV_b2_c1 = d_dxa_dV_c1_c2 =  0.0;
dxa = ((0.05-UdcT)/Vt);
if ((0.05<UdcT))
{
{
double value_exp_0 = exp(dxa);
double value_log_1 = log((1.0+value_exp_0));
VDC_T = (UdcT+(Vt*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-dxa));
double value_log_1 = log((1.0+value_exp_0));
VDC_T = (0.05+(Vt*value_log_1));
}
}
{
double value_log_0 = log(tN);
UdsT = (((((-3.0)*Vt)*value_log_0)+((model_.VDS)*tN))+((1.0-tN)*(model_.VGS)));
}

d_dxa_dV_s_c1 = d_dxa_dV_b_c = d_dxa_dV_b_b1 = d_dxa_dV_c3_c1 = d_dxa_dV_c3_c4 = d_dxa_dV_b1_b2 = d_dxa_dV_c4_c1 = d_dxa_dV_b1_e1 = d_dxa_dV_b2_e1 = d_dxa_dV_b2_c2 = d_dxa_dV_b2_c1 = d_dxa_dV_c1_c2 =  0.0;
dxa = ((0.05-UdsT)/Vt);
if ((0.05<UdsT))
{
{
double value_exp_0 = exp(dxa);
double value_log_1 = log((1.0+value_exp_0));
VDS_T = (UdsT+(Vt*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-dxa));
double value_log_1 = log((1.0+value_exp_0));
VDS_T = (0.05+(Vt*value_log_1));
}
}
inv_VDE_T = (1.0/VDE_T);
{
double value_pow_0 = pow(((model_.VDE)*inv_VDE_T),(model_.PE));
CJE_T_div_CJE = value_pow_0;
}
CJE_T = ((model_.CJE)*CJE_T_div_CJE);
{
double value_pow_0 = pow(((model_.VDS)/VDS_T),(model_.PS));
CJS_T = ((model_.CJS)*value_pow_0);
}
{
double value_pow_0 = pow(((model_.VDC)/VDC_T),(model_.PC));
CJCscale = (((1.0-(model_.XP))*value_pow_0)+(model_.XP));
}
CJCscaleINV = (1.0/CJCscale);
CJC_T = ((model_.CJC)*CJCscale);
XP_T = ((model_.XP)*CJCscaleINV);
{
double value_exp_0 = exp((lntN*(model_.AE)));
RE_T = ((model_.RE)*value_exp_0);
}
{
double value_exp_0 = exp((lntN*((model_.AB)-(model_.AQBO))));
RBV_T = ((model_.RBV)*value_exp_0);
}
{
double value_exp_0 = exp((lntN*(model_.AEX)));
RBC_T = ((model_.RBC)*value_exp_0);
}
{
double value_exp_0 = exp((lntN*(model_.AC)));
RCCxx_T = ((model_.RCC)*value_exp_0);
}
{
double value_exp_0 = exp((lntN*(model_.ACBL)));
RCCex_T = ((model_.RCBLX)*value_exp_0);
}
{
double value_exp_0 = exp((lntN*(model_.ACBL)));
RCCin_T = ((model_.RCBLI)*value_exp_0);
}
{
double value_exp_0 = exp((lntN*(model_.AEPI)));
RCV_T = ((model_.RCV)*value_exp_0);
}
{
double value_exp_0 = exp((lntN*(((model_.AE)-(model_.AB))-(model_.AQBO))));
double value_exp_1 = exp(((-(model_.DVGBF))*VdtINV));
BF_T = (((model_.BF)*value_exp_0)*value_exp_1);
}
{
double value_exp_0 = exp(((-(model_.DVGBR))*VdtINV));
BRI_T = ((model_.BRI)*value_exp_0);
}
{
double value_exp_0 = exp((lntN*(((4.0-(model_.AB))-(model_.AQBO))+(model_.DAIS))));
double value_exp_1 = exp(((-(model_.VGB))*VdtINV));
IS_T = (((model_.IS)*value_exp_0)*value_exp_1);
}
{
double value_exp_0 = exp((lntN*(1.0-(model_.AB))));
IK_T = ((model_.IK)*value_exp_0);
}
{
double value_exp_0 = exp((lntN*(6.0-(2.0*(model_.MLF)))));
double value_exp_1 = exp((((-(model_.VGJ))*VdtINV)/(model_.MLF)));
IBF_T = (((model_.IBF)*value_exp_0)*value_exp_1);
}
{
double value_exp_0 = exp((((-(model_.VGC))*VdtINV)/2.0));
IBR_T = ((((model_.IBR)*tN)*tN)*value_exp_0);
}
{
double value_pow_0 = pow((VGZEB_T*inv_VGZEB_Tr),(-0.5));
tempx = value_pow_0;
}
y = (1.0/CJE_T_div_CJE);
nZEB_T = (((((((((model_.NZEB)*VGZEB_T)*VGZEB_T)*tempx)*y)*(model_.VDE))*inv_VDE_T)*inv_VGZEB_Tr)*inv_VGZEB_Tr);
{
double value_exp_0 = exp(((model_.NZEB)-nZEB_T));
IZEB_T = ((((((((model_.IZEB)*tempx)*VDE_T)*VDE_T)*inv_VDE)*inv_VDE)*CJE_T_div_CJE)*value_exp_0);
}
{
double value_exp_0 = exp((lntN*(model_.AQBO)));
tempx = value_exp_0;
}
VEF_T = (((model_.VEF)*tempx)*CJCscaleINV);
VER_T = (((model_.VER)*tempx)*y);
{
double value_exp_0 = exp((lntN*(4.0-(model_.AS))));
double value_exp_1 = exp(((-(model_.VGS))*VdtINV));
ISS_T = (((model_.ISS)*value_exp_0)*value_exp_1);
}
{
double value_exp_0 = exp((lntN*(3.5-(0.5*(model_.ASUB)))));
double value_exp_1 = exp(((-(model_.VGS))*VdtINV));
ICSS_T = (((model_.ICSS)*value_exp_0)*value_exp_1);
}
if ((ISS_T>0.0))
{
{
double value_exp_0 = exp((lntN*(1.0-(model_.AS))));
IKS_T = ((((model_.IKS)*value_exp_0)*(IS_T/(model_.IS)))*((model_.ISS)/ISS_T));
}
}
else
{
{
double value_exp_0 = exp((lntN*(1.0-(model_.AS))));
IKS_T = ((model_.IKS)*value_exp_0);
}
}
{
double value_exp_0 = exp((lntN*((model_.AB)-2.0)));
double value_exp_1 = exp(((-(model_.DVGTE))*VdtINV));
TAUE_T = (((model_.TAUE)*value_exp_0)*value_exp_1);
}
{
double value_exp_0 = exp((lntN*(((model_.AQBO)+(model_.AB))-1.0)));
TAUB_T = ((model_.TAUB)*value_exp_0);
}
{
double value_exp_0 = exp((lntN*((model_.AEPI)-1.0)));
TEPI_T = ((model_.TEPI)*value_exp_0);
}
TAUR_T = (((model_.TAUR)*(TAUB_T+TEPI_T))/((model_.TAUB)+(model_.TEPI)));
Tk300 = (Tk-300.0);
if ((Tk<525.0))
{
BnT = (Bn*((1.0+(7.2e-4*Tk300))-((1.6e-6*Tk300)*Tk300)));
}
else
{
BnT = (Bn*1.081);
}
{
double value_exp_0 = exp((lntN*(model_.AQBO)));
DEG_T = ((model_.DEG)*value_exp_0);
}
IS_TM = (IS_T*MULT);
IK_TM = (IK_T*MULT);
IBF_TM = (IBF_T*MULT);
IBR_TM = (IBR_T*MULT);
IZEB_TM = (IZEB_T*MULT);
IHC_M = ((model_.IHC)*MULT);
ISS_TM = (ISS_T*MULT);
ICSS_TM = (ICSS_T*MULT);
IKS_TM = (IKS_T*MULT);
CJE_TM = (CJE_T*MULT);
CJC_TM = (CJC_T*MULT);
CJS_TM = (CJS_T*MULT);
RE_TM = (RE_T*invMULT);
RBC_TM = (RBC_T*invMULT);
RBV_TM = (RBV_T*invMULT);
RCCxx_TM = (RCCxx_T*invMULT);
RCCex_TM = (RCCex_T*invMULT);
RCCin_TM = (RCCin_T*invMULT);
RCV_TM = (RCV_T*invMULT);
if (((model_.RCC)>0.0))
{
GCCxx_TM = (1.0/RCCxx_TM);
}
else
{
GCCxx_TM = 0;
}
if (((model_.RCBLX)>0.0))
{
GCCex_TM = (1.0/RCCex_TM);
}
else
{
GCCex_TM = 0;
}
if (((model_.RCBLI)>0.0))
{
GCCin_TM = (1.0/RCCin_TM);
}
else
{
GCCin_TM = 0;
}
}
// End block initial_instance


  return true;
}

//-----------------------------------------------------------------------------
// Function      : Instance::Instance
// Purpose       : "instance block" constructor
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------

Instance::Instance(
  const Configuration & configuration,
  const InstanceBlock & instance_block,
  Model &               model,
  const FactoryBlock &  factory_block)
  : DeviceInstance(instance_block, configuration.getInstanceParameters(), factory_block),
    model_(model),
    MULT(1.0),
    An(0.0),
    Tk(0.0),
    Vt(0.0),
    VtINV(0.0),
    VDE_T(0.0),
    VDC_T(0.0),
    XP_T(0.0),
    BF_T(0.0),
    BRI_T(0.0),
    IS_T(0.0),
    VEF_T(0.0),
    VER_T(0.0),
    nZEB_T(0.0),
    pow2_2mPE(0.0),
    pow2_PEm2(0.0),
    inv_VDE_T(0.0),
    VGZEB_T(0.0),
    TAUE_T(0.0),
    TAUB_T(0.0),
    TEPI_T(0.0),
    TAUR_T(0.0),
    BnT(0.0),
    DEG_T(0.0),
    VDS_T(0.0),
    IKS_T(0.0),
    IS_TM(0.0),
    IK_TM(0.0),
    IBF_TM(0.0),
    IBR_TM(0.0),
    IHC_M(0.0),
    IZEB_TM(0.0),
    CJE_TM(0.0),
    CJC_TM(0.0),
    RE_TM(0.0),
    RBC_TM(0.0),
    RBV_TM(0.0),
    RCV_TM(0.0),
    SCRCV_M(0.0),
    RCCxx_TM(0.0),
    RCCex_TM(0.0),
    RCCin_TM(0.0),
    GCCxx_TM(0.0),
    GCCex_TM(0.0),
    GCCin_TM(0.0),
    KF_M(0.0),
    KFN_M(0.0),
    ISS_TM(0.0),
    ICSS_TM(0.0),
    IKS_TM(0.0),
    CJS_TM(0.0),
    Xext1(0.0),
    CBEO_M(0.0),
    CBCO_M(0.0),
    dxa(0.0),
d_dxa_dV_s_c1(0.0),
d_dxa_dV_b_c(0.0),
d_dxa_dV_b_b1(0.0),
d_dxa_dV_c3_c1(0.0),
d_dxa_dV_c3_c4(0.0),
d_dxa_dV_b1_b2(0.0),
d_dxa_dV_c4_c1(0.0),
d_dxa_dV_b1_e1(0.0),
d_dxa_dV_b2_e1(0.0),
d_dxa_dV_b2_c2(0.0),
d_dxa_dV_b2_c1(0.0),
d_dxa_dV_c1_c2(0.0),
    OP_ic(0.0),
    OP_ib(0.0),
    OP_betadc(0.0),
    OP_ie(0.0),
    OP_vbe(0.0),
    OP_vce(0.0),
    OP_vbc(0.0),
    OP_is(0.0),
    OP_vse(0.0),
    OP_vbs(0.0),
    OP_vsc(0.0),
    OP_vb2e1(0.0),
    OP_vb2c2(0.0),
    OP_vb2c1(0.0),
    OP_vb1c1(0.0),
    OP_vc4c1(0.0),
    OP_vc3c4(0.0),
    OP_ve1e(0.0),
    OP_in(0.0),
    OP_ic1c2(0.0),
    OP_ib1b2(0.0),
    OP_ib1(0.0),
    OP_sib1(0.0),
    OP_izteb(0.0),
    OP_ib2(0.0),
    OP_ib3(0.0),
    OP_iavl(0.0),
    OP_iex(0.0),
    OP_xiex(0.0),
    OP_isub(0.0),
    OP_xisub(0.0),
    OP_isf(0.0),
    OP_ire(0.0),
    OP_irbc(0.0),
    OP_ircblx(0.0),
    OP_ircbli(0.0),
    OP_ircc(0.0),
    OP_qe(0.0),
    OP_qte(0.0),
    OP_sqte(0.0),
    OP_qbe(0.0),
    OP_qbc(0.0),
    OP_qtc(0.0),
    OP_qepi(0.0),
    OP_qb1b2(0.0),
    OP_qtex(0.0),
    OP_xqtex(0.0),
    OP_qex(0.0),
    OP_xqex(0.0),
    OP_qts(0.0),
    OP_gx(0.0),
    OP_gy(0.0),
    OP_gz(0.0),
    OP_sgpi(0.0),
    OP_gpix(0.0),
    OP_gpiy(0.0),
    OP_gpiz(0.0),
    OP_gmux(0.0),
    OP_gmuy(0.0),
    OP_gmuz(0.0),
    OP_gmuex(0.0),
    OP_xgmuex(0.0),
    OP_grcvy(0.0),
    OP_grcvz(0.0),
    OP_rbv(0.0),
    OP_grbvx(0.0),
    OP_grbvy(0.0),
    OP_grbvz(0.0),
    OP_re(0.0),
    OP_rbc(0.0),
    OP_rcc(0.0),
    OP_rcblx(0.0),
    OP_rcbli(0.0),
    OP_gs(0.0),
    OP_xgs(0.0),
    OP_gsf(0.0),
    OP_scbe(0.0),
    OP_cbex(0.0),
    OP_cbey(0.0),
    OP_cbez(0.0),
    OP_cbcx(0.0),
    OP_cbcy(0.0),
    OP_cbcz(0.0),
    OP_cbcex(0.0),
    OP_xcbcex(0.0),
    OP_cb1b2(0.0),
    OP_cb1b2x(0.0),
    OP_cb1b2y(0.0),
    OP_cb1b2z(0.0),
    OP_cts(0.0),
    OP_gm(0.0),
    OP_beta(0.0),
    OP_gout(0.0),
    OP_gmu(0.0),
    OP_rb(0.0),
    OP_rc(0.0),
    OP_cbe(0.0),
    OP_cbc(0.0),
    OP_ft(0.0),
    OP_iqs(0.0),
    OP_xiwepi(0.0),
    OP_vb2c2star(0.0),
    OP_tk(0.0),
    li_c(-1),
    li_b(-1),
    li_e(-1),
    li_s(-1),
    li_e1(-1),
    li_b1(-1),
    li_b2(-1),
    li_c1(-1),
    li_c2(-1),
    li_c3(-1),
    li_c4(-1),
    li_noi(-1),
    li_branch_ic(-1),
    li_branch_ib(-1),
    li_branch_ie(-1),
    li_branch_is(-1),
    f_c1_Equ_c1_Node_Ptr(0),
    f_c1_Equ_c2_Node_Ptr(0),
    f_c2_Equ_c1_Node_Ptr(0),
    f_c2_Equ_c2_Node_Ptr(0),
    f_c1_Equ_b2_Node_Ptr(0),
    f_c2_Equ_b2_Node_Ptr(0),
    f_e1_Equ_c1_Node_Ptr(0),
    f_e1_Equ_c2_Node_Ptr(0),
    f_e1_Equ_b2_Node_Ptr(0),
    f_c2_Equ_e1_Node_Ptr(0),
    f_e1_Equ_e1_Node_Ptr(0),
    f_b1_Equ_b1_Node_Ptr(0),
    f_b1_Equ_e1_Node_Ptr(0),
    f_e1_Equ_b1_Node_Ptr(0),
    f_b2_Equ_b2_Node_Ptr(0),
    f_b2_Equ_e1_Node_Ptr(0),
    f_b2_Equ_c1_Node_Ptr(0),
    f_b2_Equ_c2_Node_Ptr(0),
    f_b1_Equ_s_Node_Ptr(0),
    f_b1_Equ_c1_Node_Ptr(0),
    f_s_Equ_s_Node_Ptr(0),
    f_s_Equ_c1_Node_Ptr(0),
    f_b1_Equ_c4_Node_Ptr(0),
    f_s_Equ_c4_Node_Ptr(0),
    f_b1_Equ_c2_Node_Ptr(0),
    f_s_Equ_c2_Node_Ptr(0),
    f_b1_Equ_b2_Node_Ptr(0),
    f_s_Equ_b2_Node_Ptr(0),
    f_s_Equ_b1_Node_Ptr(0),
    f_b_Equ_s_Node_Ptr(0),
    f_b_Equ_c1_Node_Ptr(0),
    f_b_Equ_c2_Node_Ptr(0),
    f_b_Equ_b2_Node_Ptr(0),
    f_b_Equ_e1_Node_Ptr(0),
    f_s_Equ_e1_Node_Ptr(0),
    f_b_Equ_c3_Node_Ptr(0),
    f_b_Equ_c4_Node_Ptr(0),
    f_s_Equ_c3_Node_Ptr(0),
    f_b_Equ_b1_Node_Ptr(0),
    f_b_Equ_b_Node_Ptr(0),
    f_s_Equ_b_Node_Ptr(0),
    f_b_Equ_c_Node_Ptr(0),
    f_s_Equ_c_Node_Ptr(0),
    f_c1_Equ_s_Node_Ptr(0),
    f_b1_Equ_c3_Node_Ptr(0),
    f_b2_Equ_c3_Node_Ptr(0),
    f_b2_Equ_c4_Node_Ptr(0),
    f_b1_Equ_b_Node_Ptr(0),
    f_b2_Equ_b_Node_Ptr(0),
    f_b2_Equ_b1_Node_Ptr(0),
    f_b1_Equ_c_Node_Ptr(0),
    f_b2_Equ_c_Node_Ptr(0),
    f_c2_Equ_c3_Node_Ptr(0),
    f_c2_Equ_c4_Node_Ptr(0),
    f_c2_Equ_b1_Node_Ptr(0),
    f_c2_Equ_b_Node_Ptr(0),
    f_c2_Equ_c_Node_Ptr(0),
    f_e_Equ_e_Node_Ptr(0),
    f_e_Equ_e1_Node_Ptr(0),
    f_e1_Equ_e_Node_Ptr(0),
    f_e1_Equ_c3_Node_Ptr(0),
    f_e1_Equ_c4_Node_Ptr(0),
    f_e1_Equ_b_Node_Ptr(0),
    f_e1_Equ_c_Node_Ptr(0),
    f_c1_Equ_e1_Node_Ptr(0),
    f_c1_Equ_b1_Node_Ptr(0),
    f_c1_Equ_c4_Node_Ptr(0),
    f_c1_Equ_c3_Node_Ptr(0),
    f_c1_Equ_b_Node_Ptr(0),
    f_c1_Equ_c_Node_Ptr(0),
    f_b_Equ_e_Node_Ptr(0),
    f_e_Equ_b_Node_Ptr(0),
    f_c_Equ_b_Node_Ptr(0),
    f_c_Equ_c_Node_Ptr(0),
    f_c3_Equ_s_Node_Ptr(0),
    f_c3_Equ_c1_Node_Ptr(0),
    f_c3_Equ_c2_Node_Ptr(0),
    f_c3_Equ_b2_Node_Ptr(0),
    f_c3_Equ_e1_Node_Ptr(0),
    f_c3_Equ_c3_Node_Ptr(0),
    f_c3_Equ_c4_Node_Ptr(0),
    f_c3_Equ_b1_Node_Ptr(0),
    f_c3_Equ_b_Node_Ptr(0),
    f_c3_Equ_c_Node_Ptr(0),
    f_c_Equ_c3_Node_Ptr(0),
    f_c_Equ_c4_Node_Ptr(0),
    f_c_Equ_c1_Node_Ptr(0),
    f_c_Equ_c2_Node_Ptr(0),
    f_c_Equ_b2_Node_Ptr(0),
    f_c_Equ_b1_Node_Ptr(0),
    f_c4_Equ_c4_Node_Ptr(0),
    f_c4_Equ_c1_Node_Ptr(0),
    f_c4_Equ_b2_Node_Ptr(0),
    f_c4_Equ_e1_Node_Ptr(0),
    f_c4_Equ_c2_Node_Ptr(0),
    f_c4_Equ_b1_Node_Ptr(0),
    f_c4_Equ_c3_Node_Ptr(0),
    f_c4_Equ_s_Node_Ptr(0),
    f_c4_Equ_b_Node_Ptr(0),
    f_c4_Equ_c_Node_Ptr(0),
    f_noi_Equ_c1_Node_Ptr(0),
    f_noi_Equ_c2_Node_Ptr(0),
    f_noi_Equ_b2_Node_Ptr(0),
    f_noi_Equ_e1_Node_Ptr(0),
    f_noi_Equ_noi_Node_Ptr(0),
    f_b2_Equ_noi_Node_Ptr(0),
    f_e1_Equ_noi_Node_Ptr(0),
    f_c2_Equ_noi_Node_Ptr(0),
    q_c1_Equ_c1_Node_Ptr(0),
    q_c1_Equ_c2_Node_Ptr(0),
    q_c2_Equ_c1_Node_Ptr(0),
    q_c2_Equ_c2_Node_Ptr(0),
    q_c1_Equ_b2_Node_Ptr(0),
    q_c2_Equ_b2_Node_Ptr(0),
    q_e1_Equ_c1_Node_Ptr(0),
    q_e1_Equ_c2_Node_Ptr(0),
    q_e1_Equ_b2_Node_Ptr(0),
    q_c2_Equ_e1_Node_Ptr(0),
    q_e1_Equ_e1_Node_Ptr(0),
    q_b1_Equ_b1_Node_Ptr(0),
    q_b1_Equ_e1_Node_Ptr(0),
    q_e1_Equ_b1_Node_Ptr(0),
    q_b2_Equ_b2_Node_Ptr(0),
    q_b2_Equ_e1_Node_Ptr(0),
    q_b2_Equ_c1_Node_Ptr(0),
    q_b2_Equ_c2_Node_Ptr(0),
    q_b1_Equ_s_Node_Ptr(0),
    q_b1_Equ_c1_Node_Ptr(0),
    q_s_Equ_s_Node_Ptr(0),
    q_s_Equ_c1_Node_Ptr(0),
    q_b1_Equ_c4_Node_Ptr(0),
    q_s_Equ_c4_Node_Ptr(0),
    q_b1_Equ_c2_Node_Ptr(0),
    q_s_Equ_c2_Node_Ptr(0),
    q_b1_Equ_b2_Node_Ptr(0),
    q_s_Equ_b2_Node_Ptr(0),
    q_s_Equ_b1_Node_Ptr(0),
    q_b_Equ_s_Node_Ptr(0),
    q_b_Equ_c1_Node_Ptr(0),
    q_b_Equ_c2_Node_Ptr(0),
    q_b_Equ_b2_Node_Ptr(0),
    q_b_Equ_e1_Node_Ptr(0),
    q_s_Equ_e1_Node_Ptr(0),
    q_b_Equ_c3_Node_Ptr(0),
    q_b_Equ_c4_Node_Ptr(0),
    q_s_Equ_c3_Node_Ptr(0),
    q_b_Equ_b1_Node_Ptr(0),
    q_b_Equ_b_Node_Ptr(0),
    q_s_Equ_b_Node_Ptr(0),
    q_b_Equ_c_Node_Ptr(0),
    q_s_Equ_c_Node_Ptr(0),
    q_c1_Equ_s_Node_Ptr(0),
    q_b1_Equ_c3_Node_Ptr(0),
    q_b2_Equ_c3_Node_Ptr(0),
    q_b2_Equ_c4_Node_Ptr(0),
    q_b1_Equ_b_Node_Ptr(0),
    q_b2_Equ_b_Node_Ptr(0),
    q_b2_Equ_b1_Node_Ptr(0),
    q_b1_Equ_c_Node_Ptr(0),
    q_b2_Equ_c_Node_Ptr(0),
    q_c2_Equ_c3_Node_Ptr(0),
    q_c2_Equ_c4_Node_Ptr(0),
    q_c2_Equ_b1_Node_Ptr(0),
    q_c2_Equ_b_Node_Ptr(0),
    q_c2_Equ_c_Node_Ptr(0),
    q_e_Equ_e_Node_Ptr(0),
    q_e_Equ_e1_Node_Ptr(0),
    q_e1_Equ_e_Node_Ptr(0),
    q_e1_Equ_c3_Node_Ptr(0),
    q_e1_Equ_c4_Node_Ptr(0),
    q_e1_Equ_b_Node_Ptr(0),
    q_e1_Equ_c_Node_Ptr(0),
    q_c1_Equ_e1_Node_Ptr(0),
    q_c1_Equ_b1_Node_Ptr(0),
    q_c1_Equ_c4_Node_Ptr(0),
    q_c1_Equ_c3_Node_Ptr(0),
    q_c1_Equ_b_Node_Ptr(0),
    q_c1_Equ_c_Node_Ptr(0),
    q_b_Equ_e_Node_Ptr(0),
    q_e_Equ_b_Node_Ptr(0),
    q_c_Equ_b_Node_Ptr(0),
    q_c_Equ_c_Node_Ptr(0),
    q_c3_Equ_s_Node_Ptr(0),
    q_c3_Equ_c1_Node_Ptr(0),
    q_c3_Equ_c2_Node_Ptr(0),
    q_c3_Equ_b2_Node_Ptr(0),
    q_c3_Equ_e1_Node_Ptr(0),
    q_c3_Equ_c3_Node_Ptr(0),
    q_c3_Equ_c4_Node_Ptr(0),
    q_c3_Equ_b1_Node_Ptr(0),
    q_c3_Equ_b_Node_Ptr(0),
    q_c3_Equ_c_Node_Ptr(0),
    q_c_Equ_c3_Node_Ptr(0),
    q_c_Equ_c4_Node_Ptr(0),
    q_c_Equ_c1_Node_Ptr(0),
    q_c_Equ_c2_Node_Ptr(0),
    q_c_Equ_b2_Node_Ptr(0),
    q_c_Equ_b1_Node_Ptr(0),
    q_c4_Equ_c4_Node_Ptr(0),
    q_c4_Equ_c1_Node_Ptr(0),
    q_c4_Equ_b2_Node_Ptr(0),
    q_c4_Equ_e1_Node_Ptr(0),
    q_c4_Equ_c2_Node_Ptr(0),
    q_c4_Equ_b1_Node_Ptr(0),
    q_c4_Equ_c3_Node_Ptr(0),
    q_c4_Equ_s_Node_Ptr(0),
    q_c4_Equ_b_Node_Ptr(0),
    q_c4_Equ_c_Node_Ptr(0),
    q_noi_Equ_c1_Node_Ptr(0),
    q_noi_Equ_c2_Node_Ptr(0),
    q_noi_Equ_b2_Node_Ptr(0),
    q_noi_Equ_e1_Node_Ptr(0),
    q_noi_Equ_noi_Node_Ptr(0),
    q_b2_Equ_noi_Node_Ptr(0),
    q_e1_Equ_noi_Node_Ptr(0),
    q_c2_Equ_noi_Node_Ptr(0),
    A_c1_Equ_c1_NodeOffset(-1),
    A_c1_Equ_c2_NodeOffset(-1),
    A_c2_Equ_c1_NodeOffset(-1),
    A_c2_Equ_c2_NodeOffset(-1),
    A_c1_Equ_b2_NodeOffset(-1),
    A_c2_Equ_b2_NodeOffset(-1),
    A_e1_Equ_c1_NodeOffset(-1),
    A_e1_Equ_c2_NodeOffset(-1),
    A_e1_Equ_b2_NodeOffset(-1),
    A_c2_Equ_e1_NodeOffset(-1),
    A_e1_Equ_e1_NodeOffset(-1),
    A_b1_Equ_b1_NodeOffset(-1),
    A_b1_Equ_e1_NodeOffset(-1),
    A_e1_Equ_b1_NodeOffset(-1),
    A_b2_Equ_b2_NodeOffset(-1),
    A_b2_Equ_e1_NodeOffset(-1),
    A_b2_Equ_c1_NodeOffset(-1),
    A_b2_Equ_c2_NodeOffset(-1),
    A_b1_Equ_s_NodeOffset(-1),
    A_b1_Equ_c1_NodeOffset(-1),
    A_s_Equ_s_NodeOffset(-1),
    A_s_Equ_c1_NodeOffset(-1),
    A_b1_Equ_c4_NodeOffset(-1),
    A_s_Equ_c4_NodeOffset(-1),
    A_b1_Equ_c2_NodeOffset(-1),
    A_s_Equ_c2_NodeOffset(-1),
    A_b1_Equ_b2_NodeOffset(-1),
    A_s_Equ_b2_NodeOffset(-1),
    A_s_Equ_b1_NodeOffset(-1),
    A_b_Equ_s_NodeOffset(-1),
    A_b_Equ_c1_NodeOffset(-1),
    A_b_Equ_c2_NodeOffset(-1),
    A_b_Equ_b2_NodeOffset(-1),
    A_b_Equ_e1_NodeOffset(-1),
    A_s_Equ_e1_NodeOffset(-1),
    A_b_Equ_c3_NodeOffset(-1),
    A_b_Equ_c4_NodeOffset(-1),
    A_s_Equ_c3_NodeOffset(-1),
    A_b_Equ_b1_NodeOffset(-1),
    A_b_Equ_b_NodeOffset(-1),
    A_s_Equ_b_NodeOffset(-1),
    A_b_Equ_c_NodeOffset(-1),
    A_s_Equ_c_NodeOffset(-1),
    A_c1_Equ_s_NodeOffset(-1),
    A_b1_Equ_c3_NodeOffset(-1),
    A_b2_Equ_c3_NodeOffset(-1),
    A_b2_Equ_c4_NodeOffset(-1),
    A_b1_Equ_b_NodeOffset(-1),
    A_b2_Equ_b_NodeOffset(-1),
    A_b2_Equ_b1_NodeOffset(-1),
    A_b1_Equ_c_NodeOffset(-1),
    A_b2_Equ_c_NodeOffset(-1),
    A_c2_Equ_c3_NodeOffset(-1),
    A_c2_Equ_c4_NodeOffset(-1),
    A_c2_Equ_b1_NodeOffset(-1),
    A_c2_Equ_b_NodeOffset(-1),
    A_c2_Equ_c_NodeOffset(-1),
    A_e_Equ_e_NodeOffset(-1),
    A_e_Equ_e1_NodeOffset(-1),
    A_e1_Equ_e_NodeOffset(-1),
    A_e1_Equ_c3_NodeOffset(-1),
    A_e1_Equ_c4_NodeOffset(-1),
    A_e1_Equ_b_NodeOffset(-1),
    A_e1_Equ_c_NodeOffset(-1),
    A_c1_Equ_e1_NodeOffset(-1),
    A_c1_Equ_b1_NodeOffset(-1),
    A_c1_Equ_c4_NodeOffset(-1),
    A_c1_Equ_c3_NodeOffset(-1),
    A_c1_Equ_b_NodeOffset(-1),
    A_c1_Equ_c_NodeOffset(-1),
    A_b_Equ_e_NodeOffset(-1),
    A_e_Equ_b_NodeOffset(-1),
    A_c_Equ_b_NodeOffset(-1),
    A_c_Equ_c_NodeOffset(-1),
    A_c3_Equ_s_NodeOffset(-1),
    A_c3_Equ_c1_NodeOffset(-1),
    A_c3_Equ_c2_NodeOffset(-1),
    A_c3_Equ_b2_NodeOffset(-1),
    A_c3_Equ_e1_NodeOffset(-1),
    A_c3_Equ_c3_NodeOffset(-1),
    A_c3_Equ_c4_NodeOffset(-1),
    A_c3_Equ_b1_NodeOffset(-1),
    A_c3_Equ_b_NodeOffset(-1),
    A_c3_Equ_c_NodeOffset(-1),
    A_c_Equ_c3_NodeOffset(-1),
    A_c_Equ_c4_NodeOffset(-1),
    A_c_Equ_c1_NodeOffset(-1),
    A_c_Equ_c2_NodeOffset(-1),
    A_c_Equ_b2_NodeOffset(-1),
    A_c_Equ_b1_NodeOffset(-1),
    A_c4_Equ_c4_NodeOffset(-1),
    A_c4_Equ_c1_NodeOffset(-1),
    A_c4_Equ_b2_NodeOffset(-1),
    A_c4_Equ_e1_NodeOffset(-1),
    A_c4_Equ_c2_NodeOffset(-1),
    A_c4_Equ_b1_NodeOffset(-1),
    A_c4_Equ_c3_NodeOffset(-1),
    A_c4_Equ_s_NodeOffset(-1),
    A_c4_Equ_b_NodeOffset(-1),
    A_c4_Equ_c_NodeOffset(-1),
    A_noi_Equ_c1_NodeOffset(-1),
    A_noi_Equ_c2_NodeOffset(-1),
    A_noi_Equ_b2_NodeOffset(-1),
    A_noi_Equ_e1_NodeOffset(-1),
    A_noi_Equ_noi_NodeOffset(-1),
    A_b2_Equ_noi_NodeOffset(-1),
    A_e1_Equ_noi_NodeOffset(-1),
    A_c2_Equ_noi_NodeOffset(-1),
    li_store_admsProbeID_V_b2_c1(-1),
    li_store_admsProbeID_V_b2_c2(-1),
    li_store_admsProbeID_V_b1_e1(-1),
    li_store_admsProbeID_V_b1_b2(-1),
    li_store_OP_ic(-1),
    li_store_OP_ib(-1),
    li_store_OP_betadc(-1),
    li_store_OP_ie(-1),
    li_store_OP_vbe(-1),
    li_store_OP_vce(-1),
    li_store_OP_vbc(-1),
    li_store_OP_is(-1),
    li_store_OP_vse(-1),
    li_store_OP_vbs(-1),
    li_store_OP_vsc(-1),
    li_store_OP_vb2e1(-1),
    li_store_OP_vb2c2(-1),
    li_store_OP_vb2c1(-1),
    li_store_OP_vb1c1(-1),
    li_store_OP_vc4c1(-1),
    li_store_OP_vc3c4(-1),
    li_store_OP_ve1e(-1),
    li_store_OP_in(-1),
    li_store_OP_ic1c2(-1),
    li_store_OP_ib1b2(-1),
    li_store_OP_ib1(-1),
    li_store_OP_sib1(-1),
    li_store_OP_izteb(-1),
    li_store_OP_ib2(-1),
    li_store_OP_ib3(-1),
    li_store_OP_iavl(-1),
    li_store_OP_iex(-1),
    li_store_OP_xiex(-1),
    li_store_OP_isub(-1),
    li_store_OP_xisub(-1),
    li_store_OP_isf(-1),
    li_store_OP_ire(-1),
    li_store_OP_irbc(-1),
    li_store_OP_ircblx(-1),
    li_store_OP_ircbli(-1),
    li_store_OP_ircc(-1),
    li_store_OP_qe(-1),
    li_store_OP_qte(-1),
    li_store_OP_sqte(-1),
    li_store_OP_qbe(-1),
    li_store_OP_qbc(-1),
    li_store_OP_qtc(-1),
    li_store_OP_qepi(-1),
    li_store_OP_qb1b2(-1),
    li_store_OP_qtex(-1),
    li_store_OP_xqtex(-1),
    li_store_OP_qex(-1),
    li_store_OP_xqex(-1),
    li_store_OP_qts(-1),
    li_store_OP_gx(-1),
    li_store_OP_gy(-1),
    li_store_OP_gz(-1),
    li_store_OP_sgpi(-1),
    li_store_OP_gpix(-1),
    li_store_OP_gpiy(-1),
    li_store_OP_gpiz(-1),
    li_store_OP_gmux(-1),
    li_store_OP_gmuy(-1),
    li_store_OP_gmuz(-1),
    li_store_OP_gmuex(-1),
    li_store_OP_xgmuex(-1),
    li_store_OP_grcvy(-1),
    li_store_OP_grcvz(-1),
    li_store_OP_rbv(-1),
    li_store_OP_grbvx(-1),
    li_store_OP_grbvy(-1),
    li_store_OP_grbvz(-1),
    li_store_OP_re(-1),
    li_store_OP_rbc(-1),
    li_store_OP_rcc(-1),
    li_store_OP_rcblx(-1),
    li_store_OP_rcbli(-1),
    li_store_OP_gs(-1),
    li_store_OP_xgs(-1),
    li_store_OP_gsf(-1),
    li_store_OP_scbe(-1),
    li_store_OP_cbex(-1),
    li_store_OP_cbey(-1),
    li_store_OP_cbez(-1),
    li_store_OP_cbcx(-1),
    li_store_OP_cbcy(-1),
    li_store_OP_cbcz(-1),
    li_store_OP_cbcex(-1),
    li_store_OP_xcbcex(-1),
    li_store_OP_cb1b2(-1),
    li_store_OP_cb1b2x(-1),
    li_store_OP_cb1b2y(-1),
    li_store_OP_cb1b2z(-1),
    li_store_OP_cts(-1),
    li_store_OP_gm(-1),
    li_store_OP_beta(-1),
    li_store_OP_gout(-1),
    li_store_OP_gmu(-1),
    li_store_OP_rb(-1),
    li_store_OP_rc(-1),
    li_store_OP_cbe(-1),
    li_store_OP_cbc(-1),
    li_store_OP_ft(-1),
    li_store_OP_iqs(-1),
    li_store_OP_xiwepi(-1),
    li_store_OP_vb2c2star(-1),
    li_store_OP_tk(-1),
    collapseNode_c1(false),
    collapseNode_c4(false),
    admsTemperature(getDeviceOptions().temp.getImmutableValue<double>())

{
    numIntVars = 8 + 0;
    numExtVars = 4;

  // Right now, we only have store for limited probes and output vars...
  setNumStoreVars(4+103);

  // Do not allocate "branch" (lead current) vectors by default
  setNumBranchDataVars(0);
  numBranchDataVarsIfAllocated = 4;

  leadCurrentF.resize(4);
  leadCurrentQ.resize(4);

  // Set up jacobian stamp:
  // Create a vector of the non-zero elements of the stamp
PairVector jacobianElements;
    jacobianElements.push_back(IntPair(admsNodeID_c,admsNodeID_b));
    jacobianElements.push_back(IntPair(admsNodeID_c,admsNodeID_c));
    jacobianElements.push_back(IntPair(admsNodeID_c,admsNodeID_c3));
    jacobianElements.push_back(IntPair(admsNodeID_c,admsNodeID_c4));
    jacobianElements.push_back(IntPair(admsNodeID_c,admsNodeID_c1));
    jacobianElements.push_back(IntPair(admsNodeID_c,admsNodeID_c2));
    jacobianElements.push_back(IntPair(admsNodeID_c,admsNodeID_b2));
    jacobianElements.push_back(IntPair(admsNodeID_c,admsNodeID_b1));
    jacobianElements.push_back(IntPair(admsNodeID_b,admsNodeID_s));
    jacobianElements.push_back(IntPair(admsNodeID_b,admsNodeID_c1));
    jacobianElements.push_back(IntPair(admsNodeID_b,admsNodeID_c2));
    jacobianElements.push_back(IntPair(admsNodeID_b,admsNodeID_b2));
    jacobianElements.push_back(IntPair(admsNodeID_b,admsNodeID_e1));
    jacobianElements.push_back(IntPair(admsNodeID_b,admsNodeID_c3));
    jacobianElements.push_back(IntPair(admsNodeID_b,admsNodeID_c4));
    jacobianElements.push_back(IntPair(admsNodeID_b,admsNodeID_b1));
    jacobianElements.push_back(IntPair(admsNodeID_b,admsNodeID_b));
    jacobianElements.push_back(IntPair(admsNodeID_b,admsNodeID_c));
    jacobianElements.push_back(IntPair(admsNodeID_b,admsNodeID_e));
    jacobianElements.push_back(IntPair(admsNodeID_e,admsNodeID_e));
    jacobianElements.push_back(IntPair(admsNodeID_e,admsNodeID_e1));
    jacobianElements.push_back(IntPair(admsNodeID_e,admsNodeID_b));
    jacobianElements.push_back(IntPair(admsNodeID_s,admsNodeID_s));
    jacobianElements.push_back(IntPair(admsNodeID_s,admsNodeID_c1));
    jacobianElements.push_back(IntPair(admsNodeID_s,admsNodeID_c4));
    jacobianElements.push_back(IntPair(admsNodeID_s,admsNodeID_c2));
    jacobianElements.push_back(IntPair(admsNodeID_s,admsNodeID_b2));
    jacobianElements.push_back(IntPair(admsNodeID_s,admsNodeID_b1));
    jacobianElements.push_back(IntPair(admsNodeID_s,admsNodeID_e1));
    jacobianElements.push_back(IntPair(admsNodeID_s,admsNodeID_c3));
    jacobianElements.push_back(IntPair(admsNodeID_s,admsNodeID_b));
    jacobianElements.push_back(IntPair(admsNodeID_s,admsNodeID_c));
    jacobianElements.push_back(IntPair(admsNodeID_e1,admsNodeID_c1));
    jacobianElements.push_back(IntPair(admsNodeID_e1,admsNodeID_c2));
    jacobianElements.push_back(IntPair(admsNodeID_e1,admsNodeID_b2));
    jacobianElements.push_back(IntPair(admsNodeID_e1,admsNodeID_e1));
    jacobianElements.push_back(IntPair(admsNodeID_e1,admsNodeID_b1));
    jacobianElements.push_back(IntPair(admsNodeID_e1,admsNodeID_e));
    jacobianElements.push_back(IntPair(admsNodeID_e1,admsNodeID_c3));
    jacobianElements.push_back(IntPair(admsNodeID_e1,admsNodeID_c4));
    jacobianElements.push_back(IntPair(admsNodeID_e1,admsNodeID_b));
    jacobianElements.push_back(IntPair(admsNodeID_e1,admsNodeID_c));
    jacobianElements.push_back(IntPair(admsNodeID_e1,admsNodeID_noi));
    jacobianElements.push_back(IntPair(admsNodeID_b1,admsNodeID_b1));
    jacobianElements.push_back(IntPair(admsNodeID_b1,admsNodeID_e1));
    jacobianElements.push_back(IntPair(admsNodeID_b1,admsNodeID_s));
    jacobianElements.push_back(IntPair(admsNodeID_b1,admsNodeID_c1));
    jacobianElements.push_back(IntPair(admsNodeID_b1,admsNodeID_c4));
    jacobianElements.push_back(IntPair(admsNodeID_b1,admsNodeID_c2));
    jacobianElements.push_back(IntPair(admsNodeID_b1,admsNodeID_b2));
    jacobianElements.push_back(IntPair(admsNodeID_b1,admsNodeID_c3));
    jacobianElements.push_back(IntPair(admsNodeID_b1,admsNodeID_b));
    jacobianElements.push_back(IntPair(admsNodeID_b1,admsNodeID_c));
    jacobianElements.push_back(IntPair(admsNodeID_b2,admsNodeID_b2));
    jacobianElements.push_back(IntPair(admsNodeID_b2,admsNodeID_e1));
    jacobianElements.push_back(IntPair(admsNodeID_b2,admsNodeID_c1));
    jacobianElements.push_back(IntPair(admsNodeID_b2,admsNodeID_c2));
    jacobianElements.push_back(IntPair(admsNodeID_b2,admsNodeID_c3));
    jacobianElements.push_back(IntPair(admsNodeID_b2,admsNodeID_c4));
    jacobianElements.push_back(IntPair(admsNodeID_b2,admsNodeID_b));
    jacobianElements.push_back(IntPair(admsNodeID_b2,admsNodeID_b1));
    jacobianElements.push_back(IntPair(admsNodeID_b2,admsNodeID_c));
    jacobianElements.push_back(IntPair(admsNodeID_b2,admsNodeID_noi));
    jacobianElements.push_back(IntPair(admsNodeID_c1,admsNodeID_c1));
    jacobianElements.push_back(IntPair(admsNodeID_c1,admsNodeID_c2));
    jacobianElements.push_back(IntPair(admsNodeID_c1,admsNodeID_b2));
    jacobianElements.push_back(IntPair(admsNodeID_c1,admsNodeID_s));
    jacobianElements.push_back(IntPair(admsNodeID_c1,admsNodeID_e1));
    jacobianElements.push_back(IntPair(admsNodeID_c1,admsNodeID_b1));
    jacobianElements.push_back(IntPair(admsNodeID_c1,admsNodeID_c4));
    jacobianElements.push_back(IntPair(admsNodeID_c1,admsNodeID_c3));
    jacobianElements.push_back(IntPair(admsNodeID_c1,admsNodeID_b));
    jacobianElements.push_back(IntPair(admsNodeID_c1,admsNodeID_c));
    jacobianElements.push_back(IntPair(admsNodeID_c2,admsNodeID_c1));
    jacobianElements.push_back(IntPair(admsNodeID_c2,admsNodeID_c2));
    jacobianElements.push_back(IntPair(admsNodeID_c2,admsNodeID_b2));
    jacobianElements.push_back(IntPair(admsNodeID_c2,admsNodeID_e1));
    jacobianElements.push_back(IntPair(admsNodeID_c2,admsNodeID_c3));
    jacobianElements.push_back(IntPair(admsNodeID_c2,admsNodeID_c4));
    jacobianElements.push_back(IntPair(admsNodeID_c2,admsNodeID_b1));
    jacobianElements.push_back(IntPair(admsNodeID_c2,admsNodeID_b));
    jacobianElements.push_back(IntPair(admsNodeID_c2,admsNodeID_c));
    jacobianElements.push_back(IntPair(admsNodeID_c2,admsNodeID_noi));
    jacobianElements.push_back(IntPair(admsNodeID_c3,admsNodeID_s));
    jacobianElements.push_back(IntPair(admsNodeID_c3,admsNodeID_c1));
    jacobianElements.push_back(IntPair(admsNodeID_c3,admsNodeID_c2));
    jacobianElements.push_back(IntPair(admsNodeID_c3,admsNodeID_b2));
    jacobianElements.push_back(IntPair(admsNodeID_c3,admsNodeID_e1));
    jacobianElements.push_back(IntPair(admsNodeID_c3,admsNodeID_c3));
    jacobianElements.push_back(IntPair(admsNodeID_c3,admsNodeID_c4));
    jacobianElements.push_back(IntPair(admsNodeID_c3,admsNodeID_b1));
    jacobianElements.push_back(IntPair(admsNodeID_c3,admsNodeID_b));
    jacobianElements.push_back(IntPair(admsNodeID_c3,admsNodeID_c));
    jacobianElements.push_back(IntPair(admsNodeID_c4,admsNodeID_c4));
    jacobianElements.push_back(IntPair(admsNodeID_c4,admsNodeID_c1));
    jacobianElements.push_back(IntPair(admsNodeID_c4,admsNodeID_b2));
    jacobianElements.push_back(IntPair(admsNodeID_c4,admsNodeID_e1));
    jacobianElements.push_back(IntPair(admsNodeID_c4,admsNodeID_c2));
    jacobianElements.push_back(IntPair(admsNodeID_c4,admsNodeID_b1));
    jacobianElements.push_back(IntPair(admsNodeID_c4,admsNodeID_c3));
    jacobianElements.push_back(IntPair(admsNodeID_c4,admsNodeID_s));
    jacobianElements.push_back(IntPair(admsNodeID_c4,admsNodeID_b));
    jacobianElements.push_back(IntPair(admsNodeID_c4,admsNodeID_c));
    jacobianElements.push_back(IntPair(admsNodeID_noi,admsNodeID_c1));
    jacobianElements.push_back(IntPair(admsNodeID_noi,admsNodeID_c2));
    jacobianElements.push_back(IntPair(admsNodeID_noi,admsNodeID_b2));
    jacobianElements.push_back(IntPair(admsNodeID_noi,admsNodeID_e1));
    jacobianElements.push_back(IntPair(admsNodeID_noi,admsNodeID_noi));



  setDefaultParams();
  setParams(instance_block.params);

  // Real bogosity here...
  if (!given("XYCEADMSINSTTEMP"))
    admsInstTemp=getDeviceOptions().temp.getImmutableValue<double>();

  //calculate any parameters specified as expressions
  updateDependentParameters();

  // calculate dependent (i.e. computed params) and check for errors.
  processParams();

  PairVector collapsedNodes;
  collapseNodes();

  if (collapseNode_c1)
  {
  collapsedNodes.push_back(IntPair(admsNodeID_c1,admsNodeID_c4));
  }
  if (collapseNode_c4)
  {
  collapsedNodes.push_back(IntPair(admsNodeID_c4,admsNodeID_c3));
  }

// Now generate the jacstamp from what we already have.
// This jacstamp will have all the correct node mapping.  map will be the nodal mapping of original
// node IDs to row/column ids in the reduced (non-sparse) representation of the jacobian.
// (for devices that have no collapsibles, this will be static, so check that it hasn't already
// been filled in)
if (jacStamp.empty())
{
int originalSize = 12+0;
computeJacStampAndMaps(jacobianElements,collapsedNodes,jacStamp,nodeMap,pairToJacStampMap,originalSize);
}

}

//-----------------------------------------------------------------------------
// Function      : Instance::collapseNodes
// Purpose       : function to handle collapsing of nodes
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
void Instance::collapseNodes()
{
collapseNode_c1 = false;
collapseNode_c4 = false;
if (((model_.RCBLX)>0.0))
{

if (!(((model_.RCBLI)>0.0)))
{

collapseNode_c1 = true;

}

}

else
{

collapseNode_c4 = true;

if (!(((model_.RCBLI)>0.0)))
{

collapseNode_c1 = true;

}

}


  if (collapseNode_c1)
  {
    numIntVars--;
  }
  if (collapseNode_c4)
  {
    numIntVars--;
  }
}

//-----------------------------------------------------------------------------
// Function      : Instance::~Instance
// Purpose       : destructor
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
Instance::~Instance()
{
}

//-----------------------------------------------------------------------------
// Function      : Instance::registerLIDs
// Purpose       : function for registering, and setting up, local IDs.
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
void Instance::registerLIDs( const LocalIdVector & intLIDVecRef,
                             const LocalIdVector & extLIDVecRef)
{
  AssertLIDs(intLIDVecRef.size() == numIntVars);
  AssertLIDs(extLIDVecRef.size() == numExtVars);

  LocalIdVector localLIDVec;

  if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS))
  {
    Xyce::dout() << std::endl << section_divider << std::endl
                 << "In ADMSbjt504va::Instance::register LIDs\n\n"
                 << "name             = " << getName() << std::endl
                 << "number of internal variables: " << numIntVars << std::endl
                 << "number of external variables: " << numExtVars << std::endl;
  }

  // copy over the global ID lists into a local array.
  // The end result of this is an array of LIDs corresponding to all the
  // nodes we actually have, in the order that topology thinks of them
  intLIDVec = intLIDVecRef;
  extLIDVec = extLIDVecRef;
  localLIDVec.resize(numExtVars+numIntVars);
  for (int localNodeIndex=0;localNodeIndex<numExtVars;++localNodeIndex)
  {
    localLIDVec[localNodeIndex]=extLIDVec[localNodeIndex];
  }
  for (int localNodeIndex=numExtVars;localNodeIndex<numExtVars+numIntVars;++localNodeIndex)
  {
    localLIDVec[localNodeIndex]=intLIDVec[localNodeIndex-numExtVars];
    }

  // Now pull the LIDs for each of our nodes out of the local array.
  // Use the node mapping created by createJacStampAndMaps to handle
  // all the node collapse complications.
  li_c = localLIDVec[nodeMap[admsNodeID_c]];
  li_b = localLIDVec[nodeMap[admsNodeID_b]];
  li_e = localLIDVec[nodeMap[admsNodeID_e]];
  li_s = localLIDVec[nodeMap[admsNodeID_s]];
  li_e1 = localLIDVec[nodeMap[admsNodeID_e1]];
  li_b1 = localLIDVec[nodeMap[admsNodeID_b1]];
  li_b2 = localLIDVec[nodeMap[admsNodeID_b2]];
  li_c1 = localLIDVec[nodeMap[admsNodeID_c1]];
  li_c2 = localLIDVec[nodeMap[admsNodeID_c2]];
  li_c3 = localLIDVec[nodeMap[admsNodeID_c3]];
  li_c4 = localLIDVec[nodeMap[admsNodeID_c4]];
  li_noi = localLIDVec[nodeMap[admsNodeID_noi]];


  if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS))
  {
    Xyce::dout() << "\nSolution and RHS variables:\n";
      Xyce::dout() << "\nli_c = " << li_c << std::endl;
      Xyce::dout() << "\nli_b = " << li_b << std::endl;
      Xyce::dout() << "\nli_e = " << li_e << std::endl;
      Xyce::dout() << "\nli_s = " << li_s << std::endl;
      Xyce::dout() << "\nli_e1 = " << li_e1 << std::endl;
      Xyce::dout() << "\nli_b1 = " << li_b1 << std::endl;
      Xyce::dout() << "\nli_b2 = " << li_b2 << std::endl;
      Xyce::dout() << "\nli_c1 = " << li_c1 << std::endl;
      Xyce::dout() << "\nli_c2 = " << li_c2 << std::endl;
      Xyce::dout() << "\nli_c3 = " << li_c3 << std::endl;
      Xyce::dout() << "\nli_c4 = " << li_c4 << std::endl;
      Xyce::dout() << "\nli_noi = " << li_noi << std::endl;

    Xyce::dout() << "\nEnd of ADMSbjt504va::Instance::register LIDs\n";
    Xyce::dout() << section_divider << std::endl;
  }
}

//-----------------------------------------------------------------------------
// Function      : Instance::loadNodeSymbols
// Purpose       :
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
void Instance::loadNodeSymbols(Util::SymbolTable &symbol_table) const
{
    addInternalNode(symbol_table, li_e1, getName(), "e1");
    addInternalNode(symbol_table, li_b1, getName(), "b1");
    addInternalNode(symbol_table, li_b2, getName(), "b2");
    if (!collapseNode_c1)
    {
    addInternalNode(symbol_table, li_c1, getName(), "c1");
    }
    addInternalNode(symbol_table, li_c2, getName(), "c2");
    addInternalNode(symbol_table, li_c3, getName(), "c3");
    if (!collapseNode_c4)
    {
    addInternalNode(symbol_table, li_c4, getName(), "c4");
    }
    addInternalNode(symbol_table, li_noi, getName(), "noi");
    addStoreNode(symbol_table, li_store_OP_ic, getName().getEncodedName() + ":OP_ic");
    addStoreNode(symbol_table, li_store_OP_ib, getName().getEncodedName() + ":OP_ib");
    addStoreNode(symbol_table, li_store_OP_betadc, getName().getEncodedName() + ":OP_betadc");
    addStoreNode(symbol_table, li_store_OP_ie, getName().getEncodedName() + ":OP_ie");
    addStoreNode(symbol_table, li_store_OP_vbe, getName().getEncodedName() + ":OP_vbe");
    addStoreNode(symbol_table, li_store_OP_vce, getName().getEncodedName() + ":OP_vce");
    addStoreNode(symbol_table, li_store_OP_vbc, getName().getEncodedName() + ":OP_vbc");
    addStoreNode(symbol_table, li_store_OP_is, getName().getEncodedName() + ":OP_is");
    addStoreNode(symbol_table, li_store_OP_vse, getName().getEncodedName() + ":OP_vse");
    addStoreNode(symbol_table, li_store_OP_vbs, getName().getEncodedName() + ":OP_vbs");
    addStoreNode(symbol_table, li_store_OP_vsc, getName().getEncodedName() + ":OP_vsc");
    addStoreNode(symbol_table, li_store_OP_vb2e1, getName().getEncodedName() + ":OP_vb2e1");
    addStoreNode(symbol_table, li_store_OP_vb2c2, getName().getEncodedName() + ":OP_vb2c2");
    addStoreNode(symbol_table, li_store_OP_vb2c1, getName().getEncodedName() + ":OP_vb2c1");
    addStoreNode(symbol_table, li_store_OP_vb1c1, getName().getEncodedName() + ":OP_vb1c1");
    addStoreNode(symbol_table, li_store_OP_vc4c1, getName().getEncodedName() + ":OP_vc4c1");
    addStoreNode(symbol_table, li_store_OP_vc3c4, getName().getEncodedName() + ":OP_vc3c4");
    addStoreNode(symbol_table, li_store_OP_ve1e, getName().getEncodedName() + ":OP_ve1e");
    addStoreNode(symbol_table, li_store_OP_in, getName().getEncodedName() + ":OP_in");
    addStoreNode(symbol_table, li_store_OP_ic1c2, getName().getEncodedName() + ":OP_ic1c2");
    addStoreNode(symbol_table, li_store_OP_ib1b2, getName().getEncodedName() + ":OP_ib1b2");
    addStoreNode(symbol_table, li_store_OP_ib1, getName().getEncodedName() + ":OP_ib1");
    addStoreNode(symbol_table, li_store_OP_sib1, getName().getEncodedName() + ":OP_sib1");
    addStoreNode(symbol_table, li_store_OP_izteb, getName().getEncodedName() + ":OP_izteb");
    addStoreNode(symbol_table, li_store_OP_ib2, getName().getEncodedName() + ":OP_ib2");
    addStoreNode(symbol_table, li_store_OP_ib3, getName().getEncodedName() + ":OP_ib3");
    addStoreNode(symbol_table, li_store_OP_iavl, getName().getEncodedName() + ":OP_iavl");
    addStoreNode(symbol_table, li_store_OP_iex, getName().getEncodedName() + ":OP_iex");
    addStoreNode(symbol_table, li_store_OP_xiex, getName().getEncodedName() + ":OP_xiex");
    addStoreNode(symbol_table, li_store_OP_isub, getName().getEncodedName() + ":OP_isub");
    addStoreNode(symbol_table, li_store_OP_xisub, getName().getEncodedName() + ":OP_xisub");
    addStoreNode(symbol_table, li_store_OP_isf, getName().getEncodedName() + ":OP_isf");
    addStoreNode(symbol_table, li_store_OP_ire, getName().getEncodedName() + ":OP_ire");
    addStoreNode(symbol_table, li_store_OP_irbc, getName().getEncodedName() + ":OP_irbc");
    addStoreNode(symbol_table, li_store_OP_ircblx, getName().getEncodedName() + ":OP_ircblx");
    addStoreNode(symbol_table, li_store_OP_ircbli, getName().getEncodedName() + ":OP_ircbli");
    addStoreNode(symbol_table, li_store_OP_ircc, getName().getEncodedName() + ":OP_ircc");
    addStoreNode(symbol_table, li_store_OP_qe, getName().getEncodedName() + ":OP_qe");
    addStoreNode(symbol_table, li_store_OP_qte, getName().getEncodedName() + ":OP_qte");
    addStoreNode(symbol_table, li_store_OP_sqte, getName().getEncodedName() + ":OP_sqte");
    addStoreNode(symbol_table, li_store_OP_qbe, getName().getEncodedName() + ":OP_qbe");
    addStoreNode(symbol_table, li_store_OP_qbc, getName().getEncodedName() + ":OP_qbc");
    addStoreNode(symbol_table, li_store_OP_qtc, getName().getEncodedName() + ":OP_qtc");
    addStoreNode(symbol_table, li_store_OP_qepi, getName().getEncodedName() + ":OP_qepi");
    addStoreNode(symbol_table, li_store_OP_qb1b2, getName().getEncodedName() + ":OP_qb1b2");
    addStoreNode(symbol_table, li_store_OP_qtex, getName().getEncodedName() + ":OP_qtex");
    addStoreNode(symbol_table, li_store_OP_xqtex, getName().getEncodedName() + ":OP_xqtex");
    addStoreNode(symbol_table, li_store_OP_qex, getName().getEncodedName() + ":OP_qex");
    addStoreNode(symbol_table, li_store_OP_xqex, getName().getEncodedName() + ":OP_xqex");
    addStoreNode(symbol_table, li_store_OP_qts, getName().getEncodedName() + ":OP_qts");
    addStoreNode(symbol_table, li_store_OP_gx, getName().getEncodedName() + ":OP_gx");
    addStoreNode(symbol_table, li_store_OP_gy, getName().getEncodedName() + ":OP_gy");
    addStoreNode(symbol_table, li_store_OP_gz, getName().getEncodedName() + ":OP_gz");
    addStoreNode(symbol_table, li_store_OP_sgpi, getName().getEncodedName() + ":OP_sgpi");
    addStoreNode(symbol_table, li_store_OP_gpix, getName().getEncodedName() + ":OP_gpix");
    addStoreNode(symbol_table, li_store_OP_gpiy, getName().getEncodedName() + ":OP_gpiy");
    addStoreNode(symbol_table, li_store_OP_gpiz, getName().getEncodedName() + ":OP_gpiz");
    addStoreNode(symbol_table, li_store_OP_gmux, getName().getEncodedName() + ":OP_gmux");
    addStoreNode(symbol_table, li_store_OP_gmuy, getName().getEncodedName() + ":OP_gmuy");
    addStoreNode(symbol_table, li_store_OP_gmuz, getName().getEncodedName() + ":OP_gmuz");
    addStoreNode(symbol_table, li_store_OP_gmuex, getName().getEncodedName() + ":OP_gmuex");
    addStoreNode(symbol_table, li_store_OP_xgmuex, getName().getEncodedName() + ":OP_xgmuex");
    addStoreNode(symbol_table, li_store_OP_grcvy, getName().getEncodedName() + ":OP_grcvy");
    addStoreNode(symbol_table, li_store_OP_grcvz, getName().getEncodedName() + ":OP_grcvz");
    addStoreNode(symbol_table, li_store_OP_rbv, getName().getEncodedName() + ":OP_rbv");
    addStoreNode(symbol_table, li_store_OP_grbvx, getName().getEncodedName() + ":OP_grbvx");
    addStoreNode(symbol_table, li_store_OP_grbvy, getName().getEncodedName() + ":OP_grbvy");
    addStoreNode(symbol_table, li_store_OP_grbvz, getName().getEncodedName() + ":OP_grbvz");
    addStoreNode(symbol_table, li_store_OP_re, getName().getEncodedName() + ":OP_re");
    addStoreNode(symbol_table, li_store_OP_rbc, getName().getEncodedName() + ":OP_rbc");
    addStoreNode(symbol_table, li_store_OP_rcc, getName().getEncodedName() + ":OP_rcc");
    addStoreNode(symbol_table, li_store_OP_rcblx, getName().getEncodedName() + ":OP_rcblx");
    addStoreNode(symbol_table, li_store_OP_rcbli, getName().getEncodedName() + ":OP_rcbli");
    addStoreNode(symbol_table, li_store_OP_gs, getName().getEncodedName() + ":OP_gs");
    addStoreNode(symbol_table, li_store_OP_xgs, getName().getEncodedName() + ":OP_xgs");
    addStoreNode(symbol_table, li_store_OP_gsf, getName().getEncodedName() + ":OP_gsf");
    addStoreNode(symbol_table, li_store_OP_scbe, getName().getEncodedName() + ":OP_scbe");
    addStoreNode(symbol_table, li_store_OP_cbex, getName().getEncodedName() + ":OP_cbex");
    addStoreNode(symbol_table, li_store_OP_cbey, getName().getEncodedName() + ":OP_cbey");
    addStoreNode(symbol_table, li_store_OP_cbez, getName().getEncodedName() + ":OP_cbez");
    addStoreNode(symbol_table, li_store_OP_cbcx, getName().getEncodedName() + ":OP_cbcx");
    addStoreNode(symbol_table, li_store_OP_cbcy, getName().getEncodedName() + ":OP_cbcy");
    addStoreNode(symbol_table, li_store_OP_cbcz, getName().getEncodedName() + ":OP_cbcz");
    addStoreNode(symbol_table, li_store_OP_cbcex, getName().getEncodedName() + ":OP_cbcex");
    addStoreNode(symbol_table, li_store_OP_xcbcex, getName().getEncodedName() + ":OP_xcbcex");
    addStoreNode(symbol_table, li_store_OP_cb1b2, getName().getEncodedName() + ":OP_cb1b2");
    addStoreNode(symbol_table, li_store_OP_cb1b2x, getName().getEncodedName() + ":OP_cb1b2x");
    addStoreNode(symbol_table, li_store_OP_cb1b2y, getName().getEncodedName() + ":OP_cb1b2y");
    addStoreNode(symbol_table, li_store_OP_cb1b2z, getName().getEncodedName() + ":OP_cb1b2z");
    addStoreNode(symbol_table, li_store_OP_cts, getName().getEncodedName() + ":OP_cts");
    addStoreNode(symbol_table, li_store_OP_gm, getName().getEncodedName() + ":OP_gm");
    addStoreNode(symbol_table, li_store_OP_beta, getName().getEncodedName() + ":OP_beta");
    addStoreNode(symbol_table, li_store_OP_gout, getName().getEncodedName() + ":OP_gout");
    addStoreNode(symbol_table, li_store_OP_gmu, getName().getEncodedName() + ":OP_gmu");
    addStoreNode(symbol_table, li_store_OP_rb, getName().getEncodedName() + ":OP_rb");
    addStoreNode(symbol_table, li_store_OP_rc, getName().getEncodedName() + ":OP_rc");
    addStoreNode(symbol_table, li_store_OP_cbe, getName().getEncodedName() + ":OP_cbe");
    addStoreNode(symbol_table, li_store_OP_cbc, getName().getEncodedName() + ":OP_cbc");
    addStoreNode(symbol_table, li_store_OP_ft, getName().getEncodedName() + ":OP_ft");
    addStoreNode(symbol_table, li_store_OP_iqs, getName().getEncodedName() + ":OP_iqs");
    addStoreNode(symbol_table, li_store_OP_xiwepi, getName().getEncodedName() + ":OP_xiwepi");
    addStoreNode(symbol_table, li_store_OP_vb2c2star, getName().getEncodedName() + ":OP_vb2c2star");
    addStoreNode(symbol_table, li_store_OP_tk, getName().getEncodedName() + ":OP_tk");

  if (loadLeadCurrent)
  {
    addBranchDataNode( symbol_table, li_branch_ic, getName(), "BRANCH_DC");
    addBranchDataNode( symbol_table, li_branch_ib, getName(), "BRANCH_DB");
    addBranchDataNode( symbol_table, li_branch_ie, getName(), "BRANCH_DE");
    addBranchDataNode( symbol_table, li_branch_is, getName(), "BRANCH_D4");


  }
}

//-----------------------------------------------------------------------------
// Function      : Instance::registerStoreLIDs
// Purpose       :
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
void Instance::registerStoreLIDs( const LocalIdVector & stoLIDVecRef)
{
  AssertLIDs(stoLIDVecRef.size() == getNumStoreVars());

  int numSto = stoLIDVecRef.size();
  if (numSto > 0)
  {
    int i=0;
    stoLIDVec = stoLIDVecRef;

    li_store_admsProbeID_V_b2_c1 = stoLIDVec[i++];
    li_store_admsProbeID_V_b2_c2 = stoLIDVec[i++];
    li_store_admsProbeID_V_b1_e1 = stoLIDVec[i++];
    li_store_admsProbeID_V_b1_b2 = stoLIDVec[i++];
      li_store_OP_ic= stoLIDVec[i++];
      li_store_OP_ib= stoLIDVec[i++];
      li_store_OP_betadc= stoLIDVec[i++];
      li_store_OP_ie= stoLIDVec[i++];
      li_store_OP_vbe= stoLIDVec[i++];
      li_store_OP_vce= stoLIDVec[i++];
      li_store_OP_vbc= stoLIDVec[i++];
      li_store_OP_is= stoLIDVec[i++];
      li_store_OP_vse= stoLIDVec[i++];
      li_store_OP_vbs= stoLIDVec[i++];
      li_store_OP_vsc= stoLIDVec[i++];
      li_store_OP_vb2e1= stoLIDVec[i++];
      li_store_OP_vb2c2= stoLIDVec[i++];
      li_store_OP_vb2c1= stoLIDVec[i++];
      li_store_OP_vb1c1= stoLIDVec[i++];
      li_store_OP_vc4c1= stoLIDVec[i++];
      li_store_OP_vc3c4= stoLIDVec[i++];
      li_store_OP_ve1e= stoLIDVec[i++];
      li_store_OP_in= stoLIDVec[i++];
      li_store_OP_ic1c2= stoLIDVec[i++];
      li_store_OP_ib1b2= stoLIDVec[i++];
      li_store_OP_ib1= stoLIDVec[i++];
      li_store_OP_sib1= stoLIDVec[i++];
      li_store_OP_izteb= stoLIDVec[i++];
      li_store_OP_ib2= stoLIDVec[i++];
      li_store_OP_ib3= stoLIDVec[i++];
      li_store_OP_iavl= stoLIDVec[i++];
      li_store_OP_iex= stoLIDVec[i++];
      li_store_OP_xiex= stoLIDVec[i++];
      li_store_OP_isub= stoLIDVec[i++];
      li_store_OP_xisub= stoLIDVec[i++];
      li_store_OP_isf= stoLIDVec[i++];
      li_store_OP_ire= stoLIDVec[i++];
      li_store_OP_irbc= stoLIDVec[i++];
      li_store_OP_ircblx= stoLIDVec[i++];
      li_store_OP_ircbli= stoLIDVec[i++];
      li_store_OP_ircc= stoLIDVec[i++];
      li_store_OP_qe= stoLIDVec[i++];
      li_store_OP_qte= stoLIDVec[i++];
      li_store_OP_sqte= stoLIDVec[i++];
      li_store_OP_qbe= stoLIDVec[i++];
      li_store_OP_qbc= stoLIDVec[i++];
      li_store_OP_qtc= stoLIDVec[i++];
      li_store_OP_qepi= stoLIDVec[i++];
      li_store_OP_qb1b2= stoLIDVec[i++];
      li_store_OP_qtex= stoLIDVec[i++];
      li_store_OP_xqtex= stoLIDVec[i++];
      li_store_OP_qex= stoLIDVec[i++];
      li_store_OP_xqex= stoLIDVec[i++];
      li_store_OP_qts= stoLIDVec[i++];
      li_store_OP_gx= stoLIDVec[i++];
      li_store_OP_gy= stoLIDVec[i++];
      li_store_OP_gz= stoLIDVec[i++];
      li_store_OP_sgpi= stoLIDVec[i++];
      li_store_OP_gpix= stoLIDVec[i++];
      li_store_OP_gpiy= stoLIDVec[i++];
      li_store_OP_gpiz= stoLIDVec[i++];
      li_store_OP_gmux= stoLIDVec[i++];
      li_store_OP_gmuy= stoLIDVec[i++];
      li_store_OP_gmuz= stoLIDVec[i++];
      li_store_OP_gmuex= stoLIDVec[i++];
      li_store_OP_xgmuex= stoLIDVec[i++];
      li_store_OP_grcvy= stoLIDVec[i++];
      li_store_OP_grcvz= stoLIDVec[i++];
      li_store_OP_rbv= stoLIDVec[i++];
      li_store_OP_grbvx= stoLIDVec[i++];
      li_store_OP_grbvy= stoLIDVec[i++];
      li_store_OP_grbvz= stoLIDVec[i++];
      li_store_OP_re= stoLIDVec[i++];
      li_store_OP_rbc= stoLIDVec[i++];
      li_store_OP_rcc= stoLIDVec[i++];
      li_store_OP_rcblx= stoLIDVec[i++];
      li_store_OP_rcbli= stoLIDVec[i++];
      li_store_OP_gs= stoLIDVec[i++];
      li_store_OP_xgs= stoLIDVec[i++];
      li_store_OP_gsf= stoLIDVec[i++];
      li_store_OP_scbe= stoLIDVec[i++];
      li_store_OP_cbex= stoLIDVec[i++];
      li_store_OP_cbey= stoLIDVec[i++];
      li_store_OP_cbez= stoLIDVec[i++];
      li_store_OP_cbcx= stoLIDVec[i++];
      li_store_OP_cbcy= stoLIDVec[i++];
      li_store_OP_cbcz= stoLIDVec[i++];
      li_store_OP_cbcex= stoLIDVec[i++];
      li_store_OP_xcbcex= stoLIDVec[i++];
      li_store_OP_cb1b2= stoLIDVec[i++];
      li_store_OP_cb1b2x= stoLIDVec[i++];
      li_store_OP_cb1b2y= stoLIDVec[i++];
      li_store_OP_cb1b2z= stoLIDVec[i++];
      li_store_OP_cts= stoLIDVec[i++];
      li_store_OP_gm= stoLIDVec[i++];
      li_store_OP_beta= stoLIDVec[i++];
      li_store_OP_gout= stoLIDVec[i++];
      li_store_OP_gmu= stoLIDVec[i++];
      li_store_OP_rb= stoLIDVec[i++];
      li_store_OP_rc= stoLIDVec[i++];
      li_store_OP_cbe= stoLIDVec[i++];
      li_store_OP_cbc= stoLIDVec[i++];
      li_store_OP_ft= stoLIDVec[i++];
      li_store_OP_iqs= stoLIDVec[i++];
      li_store_OP_xiwepi= stoLIDVec[i++];
      li_store_OP_vb2c2star= stoLIDVec[i++];
      li_store_OP_tk= stoLIDVec[i++];
  }
}

//-----------------------------------------------------------------------------
// Function      : Instance::registerBranchDataLIDs
// Purpose       :
// Special Notes :
// Scope         : public
// Creator       : Eric Keiter, SNL
// Creation Date : 12/09/11
//-----------------------------------------------------------------------------
void Instance::registerBranchDataLIDs(const std::vector<int> & branchLIDVecRef)
{
  AssertLIDs(branchLIDVecRef.size() == getNumBranchDataVars());

  if (loadLeadCurrent)
  {
    int i = 0;
    li_branch_ic = branchLIDVecRef[i++];
    li_branch_ib = branchLIDVecRef[i++];
    li_branch_ie = branchLIDVecRef[i++];
    li_branch_is = branchLIDVecRef[i++];

  }
}

//-----------------------------------------------------------------------------
// Function      : Instance::jacobianStamp
// Purpose       :
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
const JacobianStamp & Instance::jacobianStamp() const
{
    return jacStamp;
}

//-----------------------------------------------------------------------------
// Function      : Instance::registerJacLIDs
// Purpose       : Create Offset variables used for referencing jacobian
//                 elements
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
void Instance::registerJacLIDs( const JacobianStamp & jacLIDVec)
{
  DeviceInstance::registerJacLIDs(jacLIDVec);  IntPair jacLoc;
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c,admsNodeID_b)];
    A_c_Equ_b_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c,admsNodeID_c)];
    A_c_Equ_c_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c,admsNodeID_c3)];
    A_c_Equ_c3_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c,admsNodeID_c4)];
    A_c_Equ_c4_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c,admsNodeID_c1)];
    A_c_Equ_c1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c,admsNodeID_c2)];
    A_c_Equ_c2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c,admsNodeID_b2)];
    A_c_Equ_b2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c,admsNodeID_b1)];
    A_c_Equ_b1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b,admsNodeID_s)];
    A_b_Equ_s_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b,admsNodeID_c1)];
    A_b_Equ_c1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b,admsNodeID_c2)];
    A_b_Equ_c2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b,admsNodeID_b2)];
    A_b_Equ_b2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b,admsNodeID_e1)];
    A_b_Equ_e1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b,admsNodeID_c3)];
    A_b_Equ_c3_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b,admsNodeID_c4)];
    A_b_Equ_c4_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b,admsNodeID_b1)];
    A_b_Equ_b1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b,admsNodeID_b)];
    A_b_Equ_b_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b,admsNodeID_c)];
    A_b_Equ_c_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b,admsNodeID_e)];
    A_b_Equ_e_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_e,admsNodeID_e)];
    A_e_Equ_e_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_e,admsNodeID_e1)];
    A_e_Equ_e1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_e,admsNodeID_b)];
    A_e_Equ_b_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_s,admsNodeID_s)];
    A_s_Equ_s_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_s,admsNodeID_c1)];
    A_s_Equ_c1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_s,admsNodeID_c4)];
    A_s_Equ_c4_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_s,admsNodeID_c2)];
    A_s_Equ_c2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_s,admsNodeID_b2)];
    A_s_Equ_b2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_s,admsNodeID_b1)];
    A_s_Equ_b1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_s,admsNodeID_e1)];
    A_s_Equ_e1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_s,admsNodeID_c3)];
    A_s_Equ_c3_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_s,admsNodeID_b)];
    A_s_Equ_b_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_s,admsNodeID_c)];
    A_s_Equ_c_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_e1,admsNodeID_c1)];
    A_e1_Equ_c1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_e1,admsNodeID_c2)];
    A_e1_Equ_c2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_e1,admsNodeID_b2)];
    A_e1_Equ_b2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_e1,admsNodeID_e1)];
    A_e1_Equ_e1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_e1,admsNodeID_b1)];
    A_e1_Equ_b1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_e1,admsNodeID_e)];
    A_e1_Equ_e_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_e1,admsNodeID_c3)];
    A_e1_Equ_c3_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_e1,admsNodeID_c4)];
    A_e1_Equ_c4_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_e1,admsNodeID_b)];
    A_e1_Equ_b_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_e1,admsNodeID_c)];
    A_e1_Equ_c_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_e1,admsNodeID_noi)];
    A_e1_Equ_noi_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b1,admsNodeID_b1)];
    A_b1_Equ_b1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b1,admsNodeID_e1)];
    A_b1_Equ_e1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b1,admsNodeID_s)];
    A_b1_Equ_s_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b1,admsNodeID_c1)];
    A_b1_Equ_c1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b1,admsNodeID_c4)];
    A_b1_Equ_c4_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b1,admsNodeID_c2)];
    A_b1_Equ_c2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b1,admsNodeID_b2)];
    A_b1_Equ_b2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b1,admsNodeID_c3)];
    A_b1_Equ_c3_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b1,admsNodeID_b)];
    A_b1_Equ_b_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b1,admsNodeID_c)];
    A_b1_Equ_c_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b2,admsNodeID_b2)];
    A_b2_Equ_b2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b2,admsNodeID_e1)];
    A_b2_Equ_e1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b2,admsNodeID_c1)];
    A_b2_Equ_c1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b2,admsNodeID_c2)];
    A_b2_Equ_c2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b2,admsNodeID_c3)];
    A_b2_Equ_c3_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b2,admsNodeID_c4)];
    A_b2_Equ_c4_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b2,admsNodeID_b)];
    A_b2_Equ_b_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b2,admsNodeID_b1)];
    A_b2_Equ_b1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b2,admsNodeID_c)];
    A_b2_Equ_c_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_b2,admsNodeID_noi)];
    A_b2_Equ_noi_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c1,admsNodeID_c1)];
    A_c1_Equ_c1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c1,admsNodeID_c2)];
    A_c1_Equ_c2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c1,admsNodeID_b2)];
    A_c1_Equ_b2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c1,admsNodeID_s)];
    A_c1_Equ_s_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c1,admsNodeID_e1)];
    A_c1_Equ_e1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c1,admsNodeID_b1)];
    A_c1_Equ_b1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c1,admsNodeID_c4)];
    A_c1_Equ_c4_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c1,admsNodeID_c3)];
    A_c1_Equ_c3_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c1,admsNodeID_b)];
    A_c1_Equ_b_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c1,admsNodeID_c)];
    A_c1_Equ_c_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c2,admsNodeID_c1)];
    A_c2_Equ_c1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c2,admsNodeID_c2)];
    A_c2_Equ_c2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c2,admsNodeID_b2)];
    A_c2_Equ_b2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c2,admsNodeID_e1)];
    A_c2_Equ_e1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c2,admsNodeID_c3)];
    A_c2_Equ_c3_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c2,admsNodeID_c4)];
    A_c2_Equ_c4_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c2,admsNodeID_b1)];
    A_c2_Equ_b1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c2,admsNodeID_b)];
    A_c2_Equ_b_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c2,admsNodeID_c)];
    A_c2_Equ_c_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c2,admsNodeID_noi)];
    A_c2_Equ_noi_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c3,admsNodeID_s)];
    A_c3_Equ_s_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c3,admsNodeID_c1)];
    A_c3_Equ_c1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c3,admsNodeID_c2)];
    A_c3_Equ_c2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c3,admsNodeID_b2)];
    A_c3_Equ_b2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c3,admsNodeID_e1)];
    A_c3_Equ_e1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c3,admsNodeID_c3)];
    A_c3_Equ_c3_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c3,admsNodeID_c4)];
    A_c3_Equ_c4_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c3,admsNodeID_b1)];
    A_c3_Equ_b1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c3,admsNodeID_b)];
    A_c3_Equ_b_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c3,admsNodeID_c)];
    A_c3_Equ_c_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c4,admsNodeID_c4)];
    A_c4_Equ_c4_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c4,admsNodeID_c1)];
    A_c4_Equ_c1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c4,admsNodeID_b2)];
    A_c4_Equ_b2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c4,admsNodeID_e1)];
    A_c4_Equ_e1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c4,admsNodeID_c2)];
    A_c4_Equ_c2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c4,admsNodeID_b1)];
    A_c4_Equ_b1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c4,admsNodeID_c3)];
    A_c4_Equ_c3_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c4,admsNodeID_s)];
    A_c4_Equ_s_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c4,admsNodeID_b)];
    A_c4_Equ_b_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_c4,admsNodeID_c)];
    A_c4_Equ_c_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_noi,admsNodeID_c1)];
    A_noi_Equ_c1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_noi,admsNodeID_c2)];
    A_noi_Equ_c2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_noi,admsNodeID_b2)];
    A_noi_Equ_b2_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_noi,admsNodeID_e1)];
    A_noi_Equ_e1_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];
    jacLoc = pairToJacStampMap[IntPair(admsNodeID_noi,admsNodeID_noi)];
    A_noi_Equ_noi_NodeOffset = jacLIDVec[jacLoc.first][jacLoc.second];


}

//-----------------------------------------------------------------------------
// Function      : Instance::setupPointers
// Purpose       : Create pointer variables used for referencing jacobian
//                 elements
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
void Instance::setupPointers( )
{

  Linear::Matrix & dFdx = *(extData.dFdxMatrixPtr);
  Linear::Matrix & dQdx = *(extData.dQdxMatrixPtr);
    f_c_Equ_b_Node_Ptr = &(dFdx[li_c][A_c_Equ_b_NodeOffset]);
    q_c_Equ_b_Node_Ptr = &(dQdx[li_c][A_c_Equ_b_NodeOffset]);
    f_c_Equ_c_Node_Ptr = &(dFdx[li_c][A_c_Equ_c_NodeOffset]);
    q_c_Equ_c_Node_Ptr = &(dQdx[li_c][A_c_Equ_c_NodeOffset]);
    f_c_Equ_c3_Node_Ptr = &(dFdx[li_c][A_c_Equ_c3_NodeOffset]);
    q_c_Equ_c3_Node_Ptr = &(dQdx[li_c][A_c_Equ_c3_NodeOffset]);
    f_c_Equ_c4_Node_Ptr = &(dFdx[li_c][A_c_Equ_c4_NodeOffset]);
    q_c_Equ_c4_Node_Ptr = &(dQdx[li_c][A_c_Equ_c4_NodeOffset]);
    f_c_Equ_c1_Node_Ptr = &(dFdx[li_c][A_c_Equ_c1_NodeOffset]);
    q_c_Equ_c1_Node_Ptr = &(dQdx[li_c][A_c_Equ_c1_NodeOffset]);
    f_c_Equ_c2_Node_Ptr = &(dFdx[li_c][A_c_Equ_c2_NodeOffset]);
    q_c_Equ_c2_Node_Ptr = &(dQdx[li_c][A_c_Equ_c2_NodeOffset]);
    f_c_Equ_b2_Node_Ptr = &(dFdx[li_c][A_c_Equ_b2_NodeOffset]);
    q_c_Equ_b2_Node_Ptr = &(dQdx[li_c][A_c_Equ_b2_NodeOffset]);
    f_c_Equ_b1_Node_Ptr = &(dFdx[li_c][A_c_Equ_b1_NodeOffset]);
    q_c_Equ_b1_Node_Ptr = &(dQdx[li_c][A_c_Equ_b1_NodeOffset]);
    f_b_Equ_s_Node_Ptr = &(dFdx[li_b][A_b_Equ_s_NodeOffset]);
    q_b_Equ_s_Node_Ptr = &(dQdx[li_b][A_b_Equ_s_NodeOffset]);
    f_b_Equ_c1_Node_Ptr = &(dFdx[li_b][A_b_Equ_c1_NodeOffset]);
    q_b_Equ_c1_Node_Ptr = &(dQdx[li_b][A_b_Equ_c1_NodeOffset]);
    f_b_Equ_c2_Node_Ptr = &(dFdx[li_b][A_b_Equ_c2_NodeOffset]);
    q_b_Equ_c2_Node_Ptr = &(dQdx[li_b][A_b_Equ_c2_NodeOffset]);
    f_b_Equ_b2_Node_Ptr = &(dFdx[li_b][A_b_Equ_b2_NodeOffset]);
    q_b_Equ_b2_Node_Ptr = &(dQdx[li_b][A_b_Equ_b2_NodeOffset]);
    f_b_Equ_e1_Node_Ptr = &(dFdx[li_b][A_b_Equ_e1_NodeOffset]);
    q_b_Equ_e1_Node_Ptr = &(dQdx[li_b][A_b_Equ_e1_NodeOffset]);
    f_b_Equ_c3_Node_Ptr = &(dFdx[li_b][A_b_Equ_c3_NodeOffset]);
    q_b_Equ_c3_Node_Ptr = &(dQdx[li_b][A_b_Equ_c3_NodeOffset]);
    f_b_Equ_c4_Node_Ptr = &(dFdx[li_b][A_b_Equ_c4_NodeOffset]);
    q_b_Equ_c4_Node_Ptr = &(dQdx[li_b][A_b_Equ_c4_NodeOffset]);
    f_b_Equ_b1_Node_Ptr = &(dFdx[li_b][A_b_Equ_b1_NodeOffset]);
    q_b_Equ_b1_Node_Ptr = &(dQdx[li_b][A_b_Equ_b1_NodeOffset]);
    f_b_Equ_b_Node_Ptr = &(dFdx[li_b][A_b_Equ_b_NodeOffset]);
    q_b_Equ_b_Node_Ptr = &(dQdx[li_b][A_b_Equ_b_NodeOffset]);
    f_b_Equ_c_Node_Ptr = &(dFdx[li_b][A_b_Equ_c_NodeOffset]);
    q_b_Equ_c_Node_Ptr = &(dQdx[li_b][A_b_Equ_c_NodeOffset]);
    f_b_Equ_e_Node_Ptr = &(dFdx[li_b][A_b_Equ_e_NodeOffset]);
    q_b_Equ_e_Node_Ptr = &(dQdx[li_b][A_b_Equ_e_NodeOffset]);
    f_e_Equ_e_Node_Ptr = &(dFdx[li_e][A_e_Equ_e_NodeOffset]);
    q_e_Equ_e_Node_Ptr = &(dQdx[li_e][A_e_Equ_e_NodeOffset]);
    f_e_Equ_e1_Node_Ptr = &(dFdx[li_e][A_e_Equ_e1_NodeOffset]);
    q_e_Equ_e1_Node_Ptr = &(dQdx[li_e][A_e_Equ_e1_NodeOffset]);
    f_e_Equ_b_Node_Ptr = &(dFdx[li_e][A_e_Equ_b_NodeOffset]);
    q_e_Equ_b_Node_Ptr = &(dQdx[li_e][A_e_Equ_b_NodeOffset]);
    f_s_Equ_s_Node_Ptr = &(dFdx[li_s][A_s_Equ_s_NodeOffset]);
    q_s_Equ_s_Node_Ptr = &(dQdx[li_s][A_s_Equ_s_NodeOffset]);
    f_s_Equ_c1_Node_Ptr = &(dFdx[li_s][A_s_Equ_c1_NodeOffset]);
    q_s_Equ_c1_Node_Ptr = &(dQdx[li_s][A_s_Equ_c1_NodeOffset]);
    f_s_Equ_c4_Node_Ptr = &(dFdx[li_s][A_s_Equ_c4_NodeOffset]);
    q_s_Equ_c4_Node_Ptr = &(dQdx[li_s][A_s_Equ_c4_NodeOffset]);
    f_s_Equ_c2_Node_Ptr = &(dFdx[li_s][A_s_Equ_c2_NodeOffset]);
    q_s_Equ_c2_Node_Ptr = &(dQdx[li_s][A_s_Equ_c2_NodeOffset]);
    f_s_Equ_b2_Node_Ptr = &(dFdx[li_s][A_s_Equ_b2_NodeOffset]);
    q_s_Equ_b2_Node_Ptr = &(dQdx[li_s][A_s_Equ_b2_NodeOffset]);
    f_s_Equ_b1_Node_Ptr = &(dFdx[li_s][A_s_Equ_b1_NodeOffset]);
    q_s_Equ_b1_Node_Ptr = &(dQdx[li_s][A_s_Equ_b1_NodeOffset]);
    f_s_Equ_e1_Node_Ptr = &(dFdx[li_s][A_s_Equ_e1_NodeOffset]);
    q_s_Equ_e1_Node_Ptr = &(dQdx[li_s][A_s_Equ_e1_NodeOffset]);
    f_s_Equ_c3_Node_Ptr = &(dFdx[li_s][A_s_Equ_c3_NodeOffset]);
    q_s_Equ_c3_Node_Ptr = &(dQdx[li_s][A_s_Equ_c3_NodeOffset]);
    f_s_Equ_b_Node_Ptr = &(dFdx[li_s][A_s_Equ_b_NodeOffset]);
    q_s_Equ_b_Node_Ptr = &(dQdx[li_s][A_s_Equ_b_NodeOffset]);
    f_s_Equ_c_Node_Ptr = &(dFdx[li_s][A_s_Equ_c_NodeOffset]);
    q_s_Equ_c_Node_Ptr = &(dQdx[li_s][A_s_Equ_c_NodeOffset]);
    f_e1_Equ_c1_Node_Ptr = &(dFdx[li_e1][A_e1_Equ_c1_NodeOffset]);
    q_e1_Equ_c1_Node_Ptr = &(dQdx[li_e1][A_e1_Equ_c1_NodeOffset]);
    f_e1_Equ_c2_Node_Ptr = &(dFdx[li_e1][A_e1_Equ_c2_NodeOffset]);
    q_e1_Equ_c2_Node_Ptr = &(dQdx[li_e1][A_e1_Equ_c2_NodeOffset]);
    f_e1_Equ_b2_Node_Ptr = &(dFdx[li_e1][A_e1_Equ_b2_NodeOffset]);
    q_e1_Equ_b2_Node_Ptr = &(dQdx[li_e1][A_e1_Equ_b2_NodeOffset]);
    f_e1_Equ_e1_Node_Ptr = &(dFdx[li_e1][A_e1_Equ_e1_NodeOffset]);
    q_e1_Equ_e1_Node_Ptr = &(dQdx[li_e1][A_e1_Equ_e1_NodeOffset]);
    f_e1_Equ_b1_Node_Ptr = &(dFdx[li_e1][A_e1_Equ_b1_NodeOffset]);
    q_e1_Equ_b1_Node_Ptr = &(dQdx[li_e1][A_e1_Equ_b1_NodeOffset]);
    f_e1_Equ_e_Node_Ptr = &(dFdx[li_e1][A_e1_Equ_e_NodeOffset]);
    q_e1_Equ_e_Node_Ptr = &(dQdx[li_e1][A_e1_Equ_e_NodeOffset]);
    f_e1_Equ_c3_Node_Ptr = &(dFdx[li_e1][A_e1_Equ_c3_NodeOffset]);
    q_e1_Equ_c3_Node_Ptr = &(dQdx[li_e1][A_e1_Equ_c3_NodeOffset]);
    f_e1_Equ_c4_Node_Ptr = &(dFdx[li_e1][A_e1_Equ_c4_NodeOffset]);
    q_e1_Equ_c4_Node_Ptr = &(dQdx[li_e1][A_e1_Equ_c4_NodeOffset]);
    f_e1_Equ_b_Node_Ptr = &(dFdx[li_e1][A_e1_Equ_b_NodeOffset]);
    q_e1_Equ_b_Node_Ptr = &(dQdx[li_e1][A_e1_Equ_b_NodeOffset]);
    f_e1_Equ_c_Node_Ptr = &(dFdx[li_e1][A_e1_Equ_c_NodeOffset]);
    q_e1_Equ_c_Node_Ptr = &(dQdx[li_e1][A_e1_Equ_c_NodeOffset]);
    f_e1_Equ_noi_Node_Ptr = &(dFdx[li_e1][A_e1_Equ_noi_NodeOffset]);
    q_e1_Equ_noi_Node_Ptr = &(dQdx[li_e1][A_e1_Equ_noi_NodeOffset]);
    f_b1_Equ_b1_Node_Ptr = &(dFdx[li_b1][A_b1_Equ_b1_NodeOffset]);
    q_b1_Equ_b1_Node_Ptr = &(dQdx[li_b1][A_b1_Equ_b1_NodeOffset]);
    f_b1_Equ_e1_Node_Ptr = &(dFdx[li_b1][A_b1_Equ_e1_NodeOffset]);
    q_b1_Equ_e1_Node_Ptr = &(dQdx[li_b1][A_b1_Equ_e1_NodeOffset]);
    f_b1_Equ_s_Node_Ptr = &(dFdx[li_b1][A_b1_Equ_s_NodeOffset]);
    q_b1_Equ_s_Node_Ptr = &(dQdx[li_b1][A_b1_Equ_s_NodeOffset]);
    f_b1_Equ_c1_Node_Ptr = &(dFdx[li_b1][A_b1_Equ_c1_NodeOffset]);
    q_b1_Equ_c1_Node_Ptr = &(dQdx[li_b1][A_b1_Equ_c1_NodeOffset]);
    f_b1_Equ_c4_Node_Ptr = &(dFdx[li_b1][A_b1_Equ_c4_NodeOffset]);
    q_b1_Equ_c4_Node_Ptr = &(dQdx[li_b1][A_b1_Equ_c4_NodeOffset]);
    f_b1_Equ_c2_Node_Ptr = &(dFdx[li_b1][A_b1_Equ_c2_NodeOffset]);
    q_b1_Equ_c2_Node_Ptr = &(dQdx[li_b1][A_b1_Equ_c2_NodeOffset]);
    f_b1_Equ_b2_Node_Ptr = &(dFdx[li_b1][A_b1_Equ_b2_NodeOffset]);
    q_b1_Equ_b2_Node_Ptr = &(dQdx[li_b1][A_b1_Equ_b2_NodeOffset]);
    f_b1_Equ_c3_Node_Ptr = &(dFdx[li_b1][A_b1_Equ_c3_NodeOffset]);
    q_b1_Equ_c3_Node_Ptr = &(dQdx[li_b1][A_b1_Equ_c3_NodeOffset]);
    f_b1_Equ_b_Node_Ptr = &(dFdx[li_b1][A_b1_Equ_b_NodeOffset]);
    q_b1_Equ_b_Node_Ptr = &(dQdx[li_b1][A_b1_Equ_b_NodeOffset]);
    f_b1_Equ_c_Node_Ptr = &(dFdx[li_b1][A_b1_Equ_c_NodeOffset]);
    q_b1_Equ_c_Node_Ptr = &(dQdx[li_b1][A_b1_Equ_c_NodeOffset]);
    f_b2_Equ_b2_Node_Ptr = &(dFdx[li_b2][A_b2_Equ_b2_NodeOffset]);
    q_b2_Equ_b2_Node_Ptr = &(dQdx[li_b2][A_b2_Equ_b2_NodeOffset]);
    f_b2_Equ_e1_Node_Ptr = &(dFdx[li_b2][A_b2_Equ_e1_NodeOffset]);
    q_b2_Equ_e1_Node_Ptr = &(dQdx[li_b2][A_b2_Equ_e1_NodeOffset]);
    f_b2_Equ_c1_Node_Ptr = &(dFdx[li_b2][A_b2_Equ_c1_NodeOffset]);
    q_b2_Equ_c1_Node_Ptr = &(dQdx[li_b2][A_b2_Equ_c1_NodeOffset]);
    f_b2_Equ_c2_Node_Ptr = &(dFdx[li_b2][A_b2_Equ_c2_NodeOffset]);
    q_b2_Equ_c2_Node_Ptr = &(dQdx[li_b2][A_b2_Equ_c2_NodeOffset]);
    f_b2_Equ_c3_Node_Ptr = &(dFdx[li_b2][A_b2_Equ_c3_NodeOffset]);
    q_b2_Equ_c3_Node_Ptr = &(dQdx[li_b2][A_b2_Equ_c3_NodeOffset]);
    f_b2_Equ_c4_Node_Ptr = &(dFdx[li_b2][A_b2_Equ_c4_NodeOffset]);
    q_b2_Equ_c4_Node_Ptr = &(dQdx[li_b2][A_b2_Equ_c4_NodeOffset]);
    f_b2_Equ_b_Node_Ptr = &(dFdx[li_b2][A_b2_Equ_b_NodeOffset]);
    q_b2_Equ_b_Node_Ptr = &(dQdx[li_b2][A_b2_Equ_b_NodeOffset]);
    f_b2_Equ_b1_Node_Ptr = &(dFdx[li_b2][A_b2_Equ_b1_NodeOffset]);
    q_b2_Equ_b1_Node_Ptr = &(dQdx[li_b2][A_b2_Equ_b1_NodeOffset]);
    f_b2_Equ_c_Node_Ptr = &(dFdx[li_b2][A_b2_Equ_c_NodeOffset]);
    q_b2_Equ_c_Node_Ptr = &(dQdx[li_b2][A_b2_Equ_c_NodeOffset]);
    f_b2_Equ_noi_Node_Ptr = &(dFdx[li_b2][A_b2_Equ_noi_NodeOffset]);
    q_b2_Equ_noi_Node_Ptr = &(dQdx[li_b2][A_b2_Equ_noi_NodeOffset]);
    f_c1_Equ_c1_Node_Ptr = &(dFdx[li_c1][A_c1_Equ_c1_NodeOffset]);
    q_c1_Equ_c1_Node_Ptr = &(dQdx[li_c1][A_c1_Equ_c1_NodeOffset]);
    f_c1_Equ_c2_Node_Ptr = &(dFdx[li_c1][A_c1_Equ_c2_NodeOffset]);
    q_c1_Equ_c2_Node_Ptr = &(dQdx[li_c1][A_c1_Equ_c2_NodeOffset]);
    f_c1_Equ_b2_Node_Ptr = &(dFdx[li_c1][A_c1_Equ_b2_NodeOffset]);
    q_c1_Equ_b2_Node_Ptr = &(dQdx[li_c1][A_c1_Equ_b2_NodeOffset]);
    f_c1_Equ_s_Node_Ptr = &(dFdx[li_c1][A_c1_Equ_s_NodeOffset]);
    q_c1_Equ_s_Node_Ptr = &(dQdx[li_c1][A_c1_Equ_s_NodeOffset]);
    f_c1_Equ_e1_Node_Ptr = &(dFdx[li_c1][A_c1_Equ_e1_NodeOffset]);
    q_c1_Equ_e1_Node_Ptr = &(dQdx[li_c1][A_c1_Equ_e1_NodeOffset]);
    f_c1_Equ_b1_Node_Ptr = &(dFdx[li_c1][A_c1_Equ_b1_NodeOffset]);
    q_c1_Equ_b1_Node_Ptr = &(dQdx[li_c1][A_c1_Equ_b1_NodeOffset]);
    f_c1_Equ_c4_Node_Ptr = &(dFdx[li_c1][A_c1_Equ_c4_NodeOffset]);
    q_c1_Equ_c4_Node_Ptr = &(dQdx[li_c1][A_c1_Equ_c4_NodeOffset]);
    f_c1_Equ_c3_Node_Ptr = &(dFdx[li_c1][A_c1_Equ_c3_NodeOffset]);
    q_c1_Equ_c3_Node_Ptr = &(dQdx[li_c1][A_c1_Equ_c3_NodeOffset]);
    f_c1_Equ_b_Node_Ptr = &(dFdx[li_c1][A_c1_Equ_b_NodeOffset]);
    q_c1_Equ_b_Node_Ptr = &(dQdx[li_c1][A_c1_Equ_b_NodeOffset]);
    f_c1_Equ_c_Node_Ptr = &(dFdx[li_c1][A_c1_Equ_c_NodeOffset]);
    q_c1_Equ_c_Node_Ptr = &(dQdx[li_c1][A_c1_Equ_c_NodeOffset]);
    f_c2_Equ_c1_Node_Ptr = &(dFdx[li_c2][A_c2_Equ_c1_NodeOffset]);
    q_c2_Equ_c1_Node_Ptr = &(dQdx[li_c2][A_c2_Equ_c1_NodeOffset]);
    f_c2_Equ_c2_Node_Ptr = &(dFdx[li_c2][A_c2_Equ_c2_NodeOffset]);
    q_c2_Equ_c2_Node_Ptr = &(dQdx[li_c2][A_c2_Equ_c2_NodeOffset]);
    f_c2_Equ_b2_Node_Ptr = &(dFdx[li_c2][A_c2_Equ_b2_NodeOffset]);
    q_c2_Equ_b2_Node_Ptr = &(dQdx[li_c2][A_c2_Equ_b2_NodeOffset]);
    f_c2_Equ_e1_Node_Ptr = &(dFdx[li_c2][A_c2_Equ_e1_NodeOffset]);
    q_c2_Equ_e1_Node_Ptr = &(dQdx[li_c2][A_c2_Equ_e1_NodeOffset]);
    f_c2_Equ_c3_Node_Ptr = &(dFdx[li_c2][A_c2_Equ_c3_NodeOffset]);
    q_c2_Equ_c3_Node_Ptr = &(dQdx[li_c2][A_c2_Equ_c3_NodeOffset]);
    f_c2_Equ_c4_Node_Ptr = &(dFdx[li_c2][A_c2_Equ_c4_NodeOffset]);
    q_c2_Equ_c4_Node_Ptr = &(dQdx[li_c2][A_c2_Equ_c4_NodeOffset]);
    f_c2_Equ_b1_Node_Ptr = &(dFdx[li_c2][A_c2_Equ_b1_NodeOffset]);
    q_c2_Equ_b1_Node_Ptr = &(dQdx[li_c2][A_c2_Equ_b1_NodeOffset]);
    f_c2_Equ_b_Node_Ptr = &(dFdx[li_c2][A_c2_Equ_b_NodeOffset]);
    q_c2_Equ_b_Node_Ptr = &(dQdx[li_c2][A_c2_Equ_b_NodeOffset]);
    f_c2_Equ_c_Node_Ptr = &(dFdx[li_c2][A_c2_Equ_c_NodeOffset]);
    q_c2_Equ_c_Node_Ptr = &(dQdx[li_c2][A_c2_Equ_c_NodeOffset]);
    f_c2_Equ_noi_Node_Ptr = &(dFdx[li_c2][A_c2_Equ_noi_NodeOffset]);
    q_c2_Equ_noi_Node_Ptr = &(dQdx[li_c2][A_c2_Equ_noi_NodeOffset]);
    f_c3_Equ_s_Node_Ptr = &(dFdx[li_c3][A_c3_Equ_s_NodeOffset]);
    q_c3_Equ_s_Node_Ptr = &(dQdx[li_c3][A_c3_Equ_s_NodeOffset]);
    f_c3_Equ_c1_Node_Ptr = &(dFdx[li_c3][A_c3_Equ_c1_NodeOffset]);
    q_c3_Equ_c1_Node_Ptr = &(dQdx[li_c3][A_c3_Equ_c1_NodeOffset]);
    f_c3_Equ_c2_Node_Ptr = &(dFdx[li_c3][A_c3_Equ_c2_NodeOffset]);
    q_c3_Equ_c2_Node_Ptr = &(dQdx[li_c3][A_c3_Equ_c2_NodeOffset]);
    f_c3_Equ_b2_Node_Ptr = &(dFdx[li_c3][A_c3_Equ_b2_NodeOffset]);
    q_c3_Equ_b2_Node_Ptr = &(dQdx[li_c3][A_c3_Equ_b2_NodeOffset]);
    f_c3_Equ_e1_Node_Ptr = &(dFdx[li_c3][A_c3_Equ_e1_NodeOffset]);
    q_c3_Equ_e1_Node_Ptr = &(dQdx[li_c3][A_c3_Equ_e1_NodeOffset]);
    f_c3_Equ_c3_Node_Ptr = &(dFdx[li_c3][A_c3_Equ_c3_NodeOffset]);
    q_c3_Equ_c3_Node_Ptr = &(dQdx[li_c3][A_c3_Equ_c3_NodeOffset]);
    f_c3_Equ_c4_Node_Ptr = &(dFdx[li_c3][A_c3_Equ_c4_NodeOffset]);
    q_c3_Equ_c4_Node_Ptr = &(dQdx[li_c3][A_c3_Equ_c4_NodeOffset]);
    f_c3_Equ_b1_Node_Ptr = &(dFdx[li_c3][A_c3_Equ_b1_NodeOffset]);
    q_c3_Equ_b1_Node_Ptr = &(dQdx[li_c3][A_c3_Equ_b1_NodeOffset]);
    f_c3_Equ_b_Node_Ptr = &(dFdx[li_c3][A_c3_Equ_b_NodeOffset]);
    q_c3_Equ_b_Node_Ptr = &(dQdx[li_c3][A_c3_Equ_b_NodeOffset]);
    f_c3_Equ_c_Node_Ptr = &(dFdx[li_c3][A_c3_Equ_c_NodeOffset]);
    q_c3_Equ_c_Node_Ptr = &(dQdx[li_c3][A_c3_Equ_c_NodeOffset]);
    f_c4_Equ_c4_Node_Ptr = &(dFdx[li_c4][A_c4_Equ_c4_NodeOffset]);
    q_c4_Equ_c4_Node_Ptr = &(dQdx[li_c4][A_c4_Equ_c4_NodeOffset]);
    f_c4_Equ_c1_Node_Ptr = &(dFdx[li_c4][A_c4_Equ_c1_NodeOffset]);
    q_c4_Equ_c1_Node_Ptr = &(dQdx[li_c4][A_c4_Equ_c1_NodeOffset]);
    f_c4_Equ_b2_Node_Ptr = &(dFdx[li_c4][A_c4_Equ_b2_NodeOffset]);
    q_c4_Equ_b2_Node_Ptr = &(dQdx[li_c4][A_c4_Equ_b2_NodeOffset]);
    f_c4_Equ_e1_Node_Ptr = &(dFdx[li_c4][A_c4_Equ_e1_NodeOffset]);
    q_c4_Equ_e1_Node_Ptr = &(dQdx[li_c4][A_c4_Equ_e1_NodeOffset]);
    f_c4_Equ_c2_Node_Ptr = &(dFdx[li_c4][A_c4_Equ_c2_NodeOffset]);
    q_c4_Equ_c2_Node_Ptr = &(dQdx[li_c4][A_c4_Equ_c2_NodeOffset]);
    f_c4_Equ_b1_Node_Ptr = &(dFdx[li_c4][A_c4_Equ_b1_NodeOffset]);
    q_c4_Equ_b1_Node_Ptr = &(dQdx[li_c4][A_c4_Equ_b1_NodeOffset]);
    f_c4_Equ_c3_Node_Ptr = &(dFdx[li_c4][A_c4_Equ_c3_NodeOffset]);
    q_c4_Equ_c3_Node_Ptr = &(dQdx[li_c4][A_c4_Equ_c3_NodeOffset]);
    f_c4_Equ_s_Node_Ptr = &(dFdx[li_c4][A_c4_Equ_s_NodeOffset]);
    q_c4_Equ_s_Node_Ptr = &(dQdx[li_c4][A_c4_Equ_s_NodeOffset]);
    f_c4_Equ_b_Node_Ptr = &(dFdx[li_c4][A_c4_Equ_b_NodeOffset]);
    q_c4_Equ_b_Node_Ptr = &(dQdx[li_c4][A_c4_Equ_b_NodeOffset]);
    f_c4_Equ_c_Node_Ptr = &(dFdx[li_c4][A_c4_Equ_c_NodeOffset]);
    q_c4_Equ_c_Node_Ptr = &(dQdx[li_c4][A_c4_Equ_c_NodeOffset]);
    f_noi_Equ_c1_Node_Ptr = &(dFdx[li_noi][A_noi_Equ_c1_NodeOffset]);
    q_noi_Equ_c1_Node_Ptr = &(dQdx[li_noi][A_noi_Equ_c1_NodeOffset]);
    f_noi_Equ_c2_Node_Ptr = &(dFdx[li_noi][A_noi_Equ_c2_NodeOffset]);
    q_noi_Equ_c2_Node_Ptr = &(dQdx[li_noi][A_noi_Equ_c2_NodeOffset]);
    f_noi_Equ_b2_Node_Ptr = &(dFdx[li_noi][A_noi_Equ_b2_NodeOffset]);
    q_noi_Equ_b2_Node_Ptr = &(dQdx[li_noi][A_noi_Equ_b2_NodeOffset]);
    f_noi_Equ_e1_Node_Ptr = &(dFdx[li_noi][A_noi_Equ_e1_NodeOffset]);
    q_noi_Equ_e1_Node_Ptr = &(dQdx[li_noi][A_noi_Equ_e1_NodeOffset]);
    f_noi_Equ_noi_Node_Ptr = &(dFdx[li_noi][A_noi_Equ_noi_NodeOffset]);
    q_noi_Equ_noi_Node_Ptr = &(dQdx[li_noi][A_noi_Equ_noi_NodeOffset]);


}

// RHS load functions

//-----------------------------------------------------------------------------
// Function      : Instance::loadDAEFVector
// Purpose       : load F vector (static contributions) for one instance for
//                 NEW DAE formulation
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
bool Instance::loadDAEFVector()
{

  bool bsuccess=true;
(*extData.daeFVectorPtr)[li_c] += staticContributions[admsNodeID_c];
(*extData.daeFVectorPtr)[li_b] += staticContributions[admsNodeID_b];
(*extData.daeFVectorPtr)[li_e] += staticContributions[admsNodeID_e];
(*extData.daeFVectorPtr)[li_s] += staticContributions[admsNodeID_s];
(*extData.daeFVectorPtr)[li_e1] += staticContributions[admsNodeID_e1];
(*extData.daeFVectorPtr)[li_b1] += staticContributions[admsNodeID_b1];
(*extData.daeFVectorPtr)[li_b2] += staticContributions[admsNodeID_b2];
(*extData.daeFVectorPtr)[li_c1] += staticContributions[admsNodeID_c1];
(*extData.daeFVectorPtr)[li_c2] += staticContributions[admsNodeID_c2];
(*extData.daeFVectorPtr)[li_c3] += staticContributions[admsNodeID_c3];
(*extData.daeFVectorPtr)[li_c4] += staticContributions[admsNodeID_c4];
(*extData.daeFVectorPtr)[li_noi] += staticContributions[admsNodeID_noi];

  if (getDeviceOptions().voltageLimiterFlag && !origFlag)
  {
    double *dFdxdVp = extData.dFdxdVpVectorRawPtr;
dFdxdVp[li_c] += Jdxp_static[admsNodeID_c];
dFdxdVp[li_b] += Jdxp_static[admsNodeID_b];
dFdxdVp[li_e] += Jdxp_static[admsNodeID_e];
dFdxdVp[li_s] += Jdxp_static[admsNodeID_s];
dFdxdVp[li_e1] += Jdxp_static[admsNodeID_e1];
dFdxdVp[li_b1] += Jdxp_static[admsNodeID_b1];
dFdxdVp[li_b2] += Jdxp_static[admsNodeID_b2];
dFdxdVp[li_c1] += Jdxp_static[admsNodeID_c1];
dFdxdVp[li_c2] += Jdxp_static[admsNodeID_c2];
dFdxdVp[li_c3] += Jdxp_static[admsNodeID_c3];
dFdxdVp[li_c4] += Jdxp_static[admsNodeID_c4];
dFdxdVp[li_noi] += Jdxp_static[admsNodeID_noi];


  }

  if (loadLeadCurrent)
  {
    double * leadF = extData.nextLeadCurrFCompRawPtr;
    leadF[li_branch_ic] = leadCurrentF[admsNodeID_c];
    leadF[li_branch_ib] = leadCurrentF[admsNodeID_b];
    leadF[li_branch_ie] = leadCurrentF[admsNodeID_e];
    leadF[li_branch_is] = leadCurrentF[admsNodeID_s];



    // here we have to do special things for BJTs, MOSFETs and 2-terminal
    // devices for power computation.

        double * solVec = extData.nextSolVectorRawPtr;
        double * junctionV = extData.nextJunctionVCompRawPtr;
        junctionV[li_branch_ic] = solVec[li_c] - solVec[li_e];
        junctionV[li_branch_ib] = solVec[li_b] - solVec[li_e];

  }
  return bsuccess;
}

//-----------------------------------------------------------------------------
// Function      : Instance::loadDAEQVector
// Purpose       : load Q vector (dynamic contributions) for one instance for
//                 NEW DAE formulation
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
bool Instance::loadDAEQVector()
{
(*extData.daeQVectorPtr)[li_c] += dynamicContributions[admsNodeID_c];
(*extData.daeQVectorPtr)[li_b] += dynamicContributions[admsNodeID_b];
(*extData.daeQVectorPtr)[li_e] += dynamicContributions[admsNodeID_e];
(*extData.daeQVectorPtr)[li_s] += dynamicContributions[admsNodeID_s];
(*extData.daeQVectorPtr)[li_e1] += dynamicContributions[admsNodeID_e1];
(*extData.daeQVectorPtr)[li_b1] += dynamicContributions[admsNodeID_b1];
(*extData.daeQVectorPtr)[li_b2] += dynamicContributions[admsNodeID_b2];
(*extData.daeQVectorPtr)[li_c1] += dynamicContributions[admsNodeID_c1];
(*extData.daeQVectorPtr)[li_c2] += dynamicContributions[admsNodeID_c2];
(*extData.daeQVectorPtr)[li_c3] += dynamicContributions[admsNodeID_c3];
(*extData.daeQVectorPtr)[li_c4] += dynamicContributions[admsNodeID_c4];
(*extData.daeQVectorPtr)[li_noi] += dynamicContributions[admsNodeID_noi];

  if (getDeviceOptions().voltageLimiterFlag && !origFlag)
  {
    double *dQdxdVp = extData.dQdxdVpVectorRawPtr;
dQdxdVp[li_c] += Jdxp_dynamic[admsNodeID_c];
dQdxdVp[li_b] += Jdxp_dynamic[admsNodeID_b];
dQdxdVp[li_e] += Jdxp_dynamic[admsNodeID_e];
dQdxdVp[li_s] += Jdxp_dynamic[admsNodeID_s];
dQdxdVp[li_e1] += Jdxp_dynamic[admsNodeID_e1];
dQdxdVp[li_b1] += Jdxp_dynamic[admsNodeID_b1];
dQdxdVp[li_b2] += Jdxp_dynamic[admsNodeID_b2];
dQdxdVp[li_c1] += Jdxp_dynamic[admsNodeID_c1];
dQdxdVp[li_c2] += Jdxp_dynamic[admsNodeID_c2];
dQdxdVp[li_c3] += Jdxp_dynamic[admsNodeID_c3];
dQdxdVp[li_c4] += Jdxp_dynamic[admsNodeID_c4];
dQdxdVp[li_noi] += Jdxp_dynamic[admsNodeID_noi];

  }

  if (loadLeadCurrent)
  {
    double * leadQ = extData.nextLeadCurrQCompRawPtr;
    leadQ[li_branch_ic] = leadCurrentQ[admsNodeID_c];
    leadQ[li_branch_ib] = leadCurrentQ[admsNodeID_b];
    leadQ[li_branch_ie] = leadCurrentQ[admsNodeID_e];
    leadQ[li_branch_is] = leadCurrentQ[admsNodeID_s];


  }
  return true;
}


//-----------------------------------------------------------------------------
// Function      : Instance::updatePrimaryState
// Purpose       :
// Special Notes : In this initial implementation, does little more than
//                 call updateIntermediateVars()
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
bool Instance::updatePrimaryState()
{
  bool bsuccess = true;

  bsuccess = updateIntermediateVars();

  // if old DAE were implemented, we'd save dynamic contributions as state
  // here.

  double * stoVec = extData.nextStoVectorRawPtr;
  // Also need to save limited voltage drops and output vars
  // This formulation assumes that we have *always* written the
  // limited voltages back into the probeVars[] array.

  stoVec[li_store_admsProbeID_V_b2_c1] = probeVars[admsProbeID_V_b2_c1];
  stoVec[li_store_admsProbeID_V_b2_c2] = probeVars[admsProbeID_V_b2_c2];
  stoVec[li_store_admsProbeID_V_b1_e1] = probeVars[admsProbeID_V_b1_e1];
  stoVec[li_store_admsProbeID_V_b1_b2] = probeVars[admsProbeID_V_b1_b2];
  stoVec[li_store_OP_ic] = OP_ic;
  stoVec[li_store_OP_ib] = OP_ib;
  stoVec[li_store_OP_betadc] = OP_betadc;
  stoVec[li_store_OP_ie] = OP_ie;
  stoVec[li_store_OP_vbe] = OP_vbe;
  stoVec[li_store_OP_vce] = OP_vce;
  stoVec[li_store_OP_vbc] = OP_vbc;
  stoVec[li_store_OP_is] = OP_is;
  stoVec[li_store_OP_vse] = OP_vse;
  stoVec[li_store_OP_vbs] = OP_vbs;
  stoVec[li_store_OP_vsc] = OP_vsc;
  stoVec[li_store_OP_vb2e1] = OP_vb2e1;
  stoVec[li_store_OP_vb2c2] = OP_vb2c2;
  stoVec[li_store_OP_vb2c1] = OP_vb2c1;
  stoVec[li_store_OP_vb1c1] = OP_vb1c1;
  stoVec[li_store_OP_vc4c1] = OP_vc4c1;
  stoVec[li_store_OP_vc3c4] = OP_vc3c4;
  stoVec[li_store_OP_ve1e] = OP_ve1e;
  stoVec[li_store_OP_in] = OP_in;
  stoVec[li_store_OP_ic1c2] = OP_ic1c2;
  stoVec[li_store_OP_ib1b2] = OP_ib1b2;
  stoVec[li_store_OP_ib1] = OP_ib1;
  stoVec[li_store_OP_sib1] = OP_sib1;
  stoVec[li_store_OP_izteb] = OP_izteb;
  stoVec[li_store_OP_ib2] = OP_ib2;
  stoVec[li_store_OP_ib3] = OP_ib3;
  stoVec[li_store_OP_iavl] = OP_iavl;
  stoVec[li_store_OP_iex] = OP_iex;
  stoVec[li_store_OP_xiex] = OP_xiex;
  stoVec[li_store_OP_isub] = OP_isub;
  stoVec[li_store_OP_xisub] = OP_xisub;
  stoVec[li_store_OP_isf] = OP_isf;
  stoVec[li_store_OP_ire] = OP_ire;
  stoVec[li_store_OP_irbc] = OP_irbc;
  stoVec[li_store_OP_ircblx] = OP_ircblx;
  stoVec[li_store_OP_ircbli] = OP_ircbli;
  stoVec[li_store_OP_ircc] = OP_ircc;
  stoVec[li_store_OP_qe] = OP_qe;
  stoVec[li_store_OP_qte] = OP_qte;
  stoVec[li_store_OP_sqte] = OP_sqte;
  stoVec[li_store_OP_qbe] = OP_qbe;
  stoVec[li_store_OP_qbc] = OP_qbc;
  stoVec[li_store_OP_qtc] = OP_qtc;
  stoVec[li_store_OP_qepi] = OP_qepi;
  stoVec[li_store_OP_qb1b2] = OP_qb1b2;
  stoVec[li_store_OP_qtex] = OP_qtex;
  stoVec[li_store_OP_xqtex] = OP_xqtex;
  stoVec[li_store_OP_qex] = OP_qex;
  stoVec[li_store_OP_xqex] = OP_xqex;
  stoVec[li_store_OP_qts] = OP_qts;
  stoVec[li_store_OP_gx] = OP_gx;
  stoVec[li_store_OP_gy] = OP_gy;
  stoVec[li_store_OP_gz] = OP_gz;
  stoVec[li_store_OP_sgpi] = OP_sgpi;
  stoVec[li_store_OP_gpix] = OP_gpix;
  stoVec[li_store_OP_gpiy] = OP_gpiy;
  stoVec[li_store_OP_gpiz] = OP_gpiz;
  stoVec[li_store_OP_gmux] = OP_gmux;
  stoVec[li_store_OP_gmuy] = OP_gmuy;
  stoVec[li_store_OP_gmuz] = OP_gmuz;
  stoVec[li_store_OP_gmuex] = OP_gmuex;
  stoVec[li_store_OP_xgmuex] = OP_xgmuex;
  stoVec[li_store_OP_grcvy] = OP_grcvy;
  stoVec[li_store_OP_grcvz] = OP_grcvz;
  stoVec[li_store_OP_rbv] = OP_rbv;
  stoVec[li_store_OP_grbvx] = OP_grbvx;
  stoVec[li_store_OP_grbvy] = OP_grbvy;
  stoVec[li_store_OP_grbvz] = OP_grbvz;
  stoVec[li_store_OP_re] = OP_re;
  stoVec[li_store_OP_rbc] = OP_rbc;
  stoVec[li_store_OP_rcc] = OP_rcc;
  stoVec[li_store_OP_rcblx] = OP_rcblx;
  stoVec[li_store_OP_rcbli] = OP_rcbli;
  stoVec[li_store_OP_gs] = OP_gs;
  stoVec[li_store_OP_xgs] = OP_xgs;
  stoVec[li_store_OP_gsf] = OP_gsf;
  stoVec[li_store_OP_scbe] = OP_scbe;
  stoVec[li_store_OP_cbex] = OP_cbex;
  stoVec[li_store_OP_cbey] = OP_cbey;
  stoVec[li_store_OP_cbez] = OP_cbez;
  stoVec[li_store_OP_cbcx] = OP_cbcx;
  stoVec[li_store_OP_cbcy] = OP_cbcy;
  stoVec[li_store_OP_cbcz] = OP_cbcz;
  stoVec[li_store_OP_cbcex] = OP_cbcex;
  stoVec[li_store_OP_xcbcex] = OP_xcbcex;
  stoVec[li_store_OP_cb1b2] = OP_cb1b2;
  stoVec[li_store_OP_cb1b2x] = OP_cb1b2x;
  stoVec[li_store_OP_cb1b2y] = OP_cb1b2y;
  stoVec[li_store_OP_cb1b2z] = OP_cb1b2z;
  stoVec[li_store_OP_cts] = OP_cts;
  stoVec[li_store_OP_gm] = OP_gm;
  stoVec[li_store_OP_beta] = OP_beta;
  stoVec[li_store_OP_gout] = OP_gout;
  stoVec[li_store_OP_gmu] = OP_gmu;
  stoVec[li_store_OP_rb] = OP_rb;
  stoVec[li_store_OP_rc] = OP_rc;
  stoVec[li_store_OP_cbe] = OP_cbe;
  stoVec[li_store_OP_cbc] = OP_cbc;
  stoVec[li_store_OP_ft] = OP_ft;
  stoVec[li_store_OP_iqs] = OP_iqs;
  stoVec[li_store_OP_xiwepi] = OP_xiwepi;
  stoVec[li_store_OP_vb2c2star] = OP_vb2c2star;
  stoVec[li_store_OP_tk] = OP_tk;

  return bsuccess;
}

//-----------------------------------------------------------------------------
// Function      : Instance::updateSecondaryState
// Purpose       :
// Special Notes : In this initial implementation, does nothing
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
bool Instance::updateSecondaryState()
{
  bool bsuccess = true;

  // were old DAE implemented, we'd pull dynamic contribution derivatives
  // out of state.

  return bsuccess;
}

//-----------------------------------------------------------------------------
// Function      : Instance::updateIntermediateVars
// Purpose       : update intermediate variables for one bjt504va instance
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
bool Instance::updateIntermediateVars()
{

  bool bsuccess=true;
  Linear::Vector * solVectorPtr = extData.nextSolVectorPtr;

  if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) && getSolverState().debugTimeFlag)
  {
    Xyce::dout() << std::endl << subsection_divider << std::endl;
    Xyce::dout() << "  In ADMSbjt504va::Instance::updateIntermediateVars\n\n";
    Xyce::dout() << "  name = " << getName() << std::endl;
  }

  // Local variables
  double dydx=0.0;
  double dydz=0.0;
  double gpi=0.0;
  double gammax=0.0;
  double gammay=0.0;
  double gammaz=0.0;
  double gbfx=0.0;
  double gbfy=0.0;
  double gbfz=0.0;
  double alpha_ft=0.0;
  double rx=0.0;
  double rz=0.0;
  double ry=0.0;
  double rb1b2=0.0;
  double rex=0.0;
  double xrex=0.0;
  double taut=0.0;
  double common=0.0;
  double powerREC=0.0;
  double powerRBC=0.0;
  double powerRCCxx=0.0;
  double powerRCCex=0.0;
  double powerRCCin=0.0;
  double powerRBV=0.0;
  double In_N=0.0;
     double d_In_N_dV_b2_e1=0.0;
     double d_In_N_dV_b2_c2=0.0;
     double d_In_N_dV_b2_c1=0.0;
     double d_In_N_dV_c1_c2=0.0;
  double powerCCS=0.0;
  double Gem_N=0.0;
     double d_Gem_N_dV_b2_c2=0.0;
     double d_Gem_N_dV_b2_c1=0.0;
     double d_Gem_N_dV_c1_c2=0.0;
     double d_Gem_N_dV_b_c=0.0;
     double d_Gem_N_dV_b_b1=0.0;
     double d_Gem_N_dV_b1_b2=0.0;
     double d_Gem_N_dV_c4_c1=0.0;
     double d_Gem_N_dV_c3_c1=0.0;
     double d_Gem_N_dV_c3_c4=0.0;
     double d_Gem_N_dV_b2_e1=0.0;
  double powerIIS=0.0;
  double Taub_N=0.0;
     double d_Taub_N_dV_b2_e1=0.0;
     double d_Taub_N_dV_b_c=0.0;
     double d_Taub_N_dV_b_b1=0.0;
     double d_Taub_N_dV_b1_b2=0.0;
     double d_Taub_N_dV_c4_c1=0.0;
     double d_Taub_N_dV_c3_c1=0.0;
     double d_Taub_N_dV_c3_c4=0.0;
     double d_Taub_N_dV_b2_c2=0.0;
     double d_Taub_N_dV_b2_c1=0.0;
     double d_Taub_N_dV_c1_c2=0.0;
  double taun=0.0;
     double d_taun_dV_b2_e1=0.0;
     double d_taun_dV_b_c=0.0;
     double d_taun_dV_b_b1=0.0;
     double d_taun_dV_b1_b2=0.0;
     double d_taun_dV_c4_c1=0.0;
     double d_taun_dV_c3_c1=0.0;
     double d_taun_dV_c3_c4=0.0;
     double d_taun_dV_b2_c2=0.0;
     double d_taun_dV_b2_c1=0.0;
     double d_taun_dV_c1_c2=0.0;
  double powerFBCS=0.0;
  double powerFBC1fB1=0.0;
  double exponentFBC1fB2=0.0;
  double powerFBC1fB2=0.0;
  double powerEBSCS=0.0;
  double powerEBSC1f=0.0;
  double powerRBCS=0.0;
  double powerRBC1f=0.0;
  double powerExCS=0.0;
  double powerExC1f=0.0;
  double powerExCSMOD=0.0;
  double powerExC1fMOD=0.0;
  double powerSubsCS_B1S=0.0;
  double powerSubsCS_BS=0.0;
  double Vb2c1=0.0;
     double d_Vb2c1_dV_b2_c1=0.0;
  double Vb2c2=0.0;
     double d_Vb2c2_dV_b2_c2=0.0;
  double Vb2e1=0.0;
     double d_Vb2e1_dV_b2_e1=0.0;
  double Vb1e1=0.0;
     double d_Vb1e1_dV_b1_e1=0.0;
  double Vb1b2=0.0;
     double d_Vb1b2_dV_b1_b2=0.0;
  double Vsc1=0.0;
     double d_Vsc1_dV_s_c1=0.0;
  double Vc1c2=0.0;
     double d_Vc1c2_dV_c1_c2=0.0;
  double Vee1=0.0;
     double d_Vee1_dV_e_e1=0.0;
  double Vbb1=0.0;
     double d_Vbb1_dV_b_b1=0.0;
  double Vbe=0.0;
     double d_Vbe_dV_b_e=0.0;
  double Vbc=0.0;
     double d_Vbc_dV_b_c=0.0;
  double Vc4c1=0.0;
     double d_Vc4c1_dV_c4_c1=0.0;
  double Vc3c4=0.0;
     double d_Vc3c4_dV_c3_c1=0.0;
     double d_Vc3c4_dV_c3_c4=0.0;
  double Vb1c4=0.0;
     double d_Vb1c4_dV_b1_b2=0.0;
     double d_Vb1c4_dV_b2_c2=0.0;
     double d_Vb1c4_dV_c1_c2=0.0;
     double d_Vb1c4_dV_c4_c1=0.0;
  double Vcc3=0.0;
     double d_Vcc3_dV_b_c=0.0;
     double d_Vcc3_dV_b_b1=0.0;
     double d_Vcc3_dV_b1_b2=0.0;
     double d_Vcc3_dV_b2_c2=0.0;
     double d_Vcc3_dV_c1_c2=0.0;
     double d_Vcc3_dV_c4_c1=0.0;
     double d_Vcc3_dV_c3_c1=0.0;
     double d_Vcc3_dV_c3_c4=0.0;
  double Vbc3=0.0;
     double d_Vbc3_dV_b_c=0.0;
     double d_Vbc3_dV_b_b1=0.0;
     double d_Vbc3_dV_b1_b2=0.0;
     double d_Vbc3_dV_b2_c2=0.0;
     double d_Vbc3_dV_c1_c2=0.0;
     double d_Vbc3_dV_c4_c1=0.0;
     double d_Vbc3_dV_c3_c1=0.0;
     double d_Vbc3_dV_c3_c4=0.0;
  double Vsc4=0.0;
     double d_Vsc4_dV_s_c1=0.0;
     double d_Vsc4_dV_c4_c1=0.0;
  double Vsc3=0.0;
     double d_Vsc3_dV_s_c1=0.0;
     double d_Vsc3_dV_c4_c1=0.0;
     double d_Vsc3_dV_c3_c1=0.0;
     double d_Vsc3_dV_c3_c4=0.0;
  double expl=0.0;
  double eVb2c2=0.0;
     double d_eVb2c2_dV_b2_c2=0.0;
  double eVb2e1=0.0;
     double d_eVb2e1_dV_b2_e1=0.0;
  double eVb1e1=0.0;
     double d_eVb1e1_dV_b1_e1=0.0;
  double eVb1c4=0.0;
     double d_eVb1c4_dV_b1_b2=0.0;
     double d_eVb1c4_dV_b2_c2=0.0;
     double d_eVb1c4_dV_c1_c2=0.0;
     double d_eVb1c4_dV_c4_c1=0.0;
  double eVb1b2=0.0;
     double d_eVb1b2_dV_b1_b2=0.0;
  double eVbc3=0.0;
     double d_eVbc3_dV_b_c=0.0;
     double d_eVbc3_dV_b_b1=0.0;
     double d_eVbc3_dV_b1_b2=0.0;
     double d_eVbc3_dV_b2_c2=0.0;
     double d_eVbc3_dV_c1_c2=0.0;
     double d_eVbc3_dV_c4_c1=0.0;
     double d_eVbc3_dV_c3_c1=0.0;
     double d_eVbc3_dV_c3_c4=0.0;
  double eVsc1=0.0;
     double d_eVsc1_dV_s_c1=0.0;
  double eVsc3=0.0;
     double d_eVsc3_dV_s_c1=0.0;
     double d_eVsc3_dV_c4_c1=0.0;
     double d_eVsc3_dV_c3_c1=0.0;
     double d_eVsc3_dV_c3_c4=0.0;
  double eVsc4=0.0;
     double d_eVsc4_dV_s_c1=0.0;
     double d_eVsc4_dV_c4_c1=0.0;
  double eVbc3VDC=0.0;
     double d_eVbc3VDC_dV_b_c=0.0;
     double d_eVbc3VDC_dV_b_b1=0.0;
     double d_eVbc3VDC_dV_b1_b2=0.0;
     double d_eVbc3VDC_dV_b2_c2=0.0;
     double d_eVbc3VDC_dV_c1_c2=0.0;
     double d_eVbc3VDC_dV_c4_c1=0.0;
     double d_eVbc3VDC_dV_c3_c1=0.0;
     double d_eVbc3VDC_dV_c3_c4=0.0;
  double eVb1c4VDC=0.0;
     double d_eVb1c4VDC_dV_b1_b2=0.0;
     double d_eVb1c4VDC_dV_b2_c2=0.0;
     double d_eVb1c4VDC_dV_c1_c2=0.0;
     double d_eVb1c4VDC_dV_c4_c1=0.0;
  double eVb2c2VDC=0.0;
     double d_eVb2c2VDC_dV_b2_c2=0.0;
  double eVb2c1VDC=0.0;
     double d_eVb2c1VDC_dV_b2_c1=0.0;
  double K0=0.0;
     double d_K0_dV_b2_c2=0.0;
  double Kw=0.0;
     double d_Kw_dV_b2_c1=0.0;
  double pW=0.0;
     double d_pW_dV_b2_c1=0.0;
  double Ec=0.0;
     double d_Ec_dV_b2_c2=0.0;
     double d_Ec_dV_b2_c1=0.0;
  double Ic1c2=0.0;
     double d_Ic1c2_dV_b2_c2=0.0;
     double d_Ic1c2_dV_b2_c1=0.0;
     double d_Ic1c2_dV_c1_c2=0.0;
  double pav=0.0;
     double d_pav_dV_b2_c2=0.0;
     double d_pav_dV_b2_c1=0.0;
     double d_pav_dV_c1_c2=0.0;
  double tmpV=0.0;
     double d_tmpV_dV_b2_c1=0.0;
  double Vqs_th=0.0;
     double d_Vqs_th_dV_b2_c2=0.0;
     double d_Vqs_th_dV_b2_c1=0.0;
     double d_Vqs_th_dV_c1_c2=0.0;
  double eps_VDC=0.0;
  double eps2=0.0;
  double x2=0.0;
     double d_x2_dV_b_c=0.0;
     double d_x2_dV_b_b1=0.0;
     double d_x2_dV_b1_b2=0.0;
     double d_x2_dV_c4_c1=0.0;
     double d_x2_dV_c3_c1=0.0;
     double d_x2_dV_c3_c4=0.0;
     double d_x2_dV_b2_e1=0.0;
     double d_x2_dV_b2_c2=0.0;
     double d_x2_dV_b2_c1=0.0;
     double d_x2_dV_c1_c2=0.0;
  double Vqs=0.0;
     double d_Vqs_dV_b2_c2=0.0;
     double d_Vqs_dV_b2_c1=0.0;
     double d_Vqs_dV_c1_c2=0.0;
  double Iqs=0.0;
     double d_Iqs_dV_b2_c2=0.0;
     double d_Iqs_dV_b2_c1=0.0;
     double d_Iqs_dV_c1_c2=0.0;
  double Ic1c2_Iqs=0.0;
     double d_Ic1c2_Iqs_dV_b2_c2=0.0;
     double d_Ic1c2_Iqs_dV_b2_c1=0.0;
     double d_Ic1c2_Iqs_dV_c1_c2=0.0;
  double alpha1=0.0;
     double d_alpha1_dV_b2_c2=0.0;
     double d_alpha1_dV_b2_c1=0.0;
     double d_alpha1_dV_c1_c2=0.0;
  double alpha=0.0;
     double d_alpha_dV_b2_c2=0.0;
     double d_alpha_dV_b2_c1=0.0;
     double d_alpha_dV_c1_c2=0.0;
  double vyi=0.0;
     double d_vyi_dV_b2_c2=0.0;
     double d_vyi_dV_b2_c1=0.0;
     double d_vyi_dV_c1_c2=0.0;
  double yi=0.0;
     double d_yi_dV_b2_c2=0.0;
     double d_yi_dV_b2_c1=0.0;
     double d_yi_dV_c1_c2=0.0;
  double xi_w=0.0;
     double d_xi_w_dV_b2_c2=0.0;
     double d_xi_w_dV_b2_c1=0.0;
     double d_xi_w_dV_c1_c2=0.0;
  double gp0=0.0;
     double d_gp0_dV_b2_c2=0.0;
     double d_gp0_dV_b2_c1=0.0;
     double d_gp0_dV_c1_c2=0.0;
  double gp0_help=0.0;
     double d_gp0_help_dV_b2_c2=0.0;
     double d_gp0_help_dV_b2_c1=0.0;
     double d_gp0_help_dV_c1_c2=0.0;
  double gp02=0.0;
     double d_gp02_dV_b2_c2=0.0;
     double d_gp02_dV_b2_c1=0.0;
     double d_gp02_dV_c1_c2=0.0;
  double sqr_arg=0.0;
     double d_sqr_arg_dV_b2_c2=0.0;
     double d_sqr_arg_dV_b2_c1=0.0;
     double d_sqr_arg_dV_c1_c2=0.0;
  double p0star=0.0;
     double d_p0star_dV_b2_c2=0.0;
     double d_p0star_dV_b2_c1=0.0;
     double d_p0star_dV_c1_c2=0.0;
  double eVb2c2star=0.0;
     double d_eVb2c2star_dV_b2_c2=0.0;
     double d_eVb2c2star_dV_b2_c1=0.0;
     double d_eVb2c2star_dV_c1_c2=0.0;
  double B1=0.0;
     double d_B1_dV_b2_c2=0.0;
     double d_B1_dV_b2_c1=0.0;
     double d_B1_dV_c1_c2=0.0;
  double B2=0.0;
     double d_B2_dV_b2_c2=0.0;
     double d_B2_dV_b2_c1=0.0;
     double d_B2_dV_c1_c2=0.0;
  double Vxi0=0.0;
     double d_Vxi0_dV_b2_c2=0.0;
     double d_Vxi0_dV_b2_c1=0.0;
     double d_Vxi0_dV_c1_c2=0.0;
  double Vch=0.0;
     double d_Vch_dV_b2_c2=0.0;
     double d_Vch_dV_b2_c1=0.0;
     double d_Vch_dV_c1_c2=0.0;
  double Icap=0.0;
     double d_Icap_dV_b2_c2=0.0;
     double d_Icap_dV_b2_c1=0.0;
     double d_Icap_dV_c1_c2=0.0;
  double Icap_IHC=0.0;
     double d_Icap_IHC_dV_b2_c2=0.0;
     double d_Icap_IHC_dV_b2_c1=0.0;
     double d_Icap_IHC_dV_c1_c2=0.0;
  double Vfe=0.0;
  double a_VDE=0.0;
  double Vje=0.0;
     double d_Vje_dV_b2_e1=0.0;
     double d_Vje_dV_b2_c2=0.0;
     double d_Vje_dV_b2_c1=0.0;
     double d_Vje_dV_c1_c2=0.0;
  double E0BE=0.0;
     double d_E0BE_dV_b2_e1=0.0;
     double d_E0BE_dV_b2_c2=0.0;
     double d_E0BE_dV_b2_c1=0.0;
     double d_E0BE_dV_c1_c2=0.0;
  double Vte=0.0;
     double d_Vte_dV_b2_e1=0.0;
     double d_Vte_dV_b2_c2=0.0;
     double d_Vte_dV_b2_c1=0.0;
     double d_Vte_dV_c1_c2=0.0;
  double Vjunc=0.0;
     double d_Vjunc_dV_b2_c1=0.0;
     double d_Vjunc_dV_b2_c2=0.0;
     double d_Vjunc_dV_c1_c2=0.0;
  double bjc=0.0;
  double Vfc=0.0;
  double Vjc=0.0;
     double d_Vjc_dV_b2_c1=0.0;
     double d_Vjc_dV_b2_c2=0.0;
     double d_Vjc_dV_c1_c2=0.0;
     double d_Vjc_dV_b2_e1=0.0;
  double fI=0.0;
     double d_fI_dV_b2_c2=0.0;
     double d_fI_dV_b2_c1=0.0;
     double d_fI_dV_c1_c2=0.0;
  double Vcv=0.0;
     double d_Vcv_dV_b2_c2=0.0;
     double d_Vcv_dV_b2_c1=0.0;
     double d_Vcv_dV_c1_c2=0.0;
     double d_Vcv_dV_b2_e1=0.0;
  double Vtc=0.0;
     double d_Vtc_dV_b2_c2=0.0;
     double d_Vtc_dV_b2_c1=0.0;
     double d_Vtc_dV_c1_c2=0.0;
     double d_Vtc_dV_b2_e1=0.0;
  double If0=0.0;
  double f1=0.0;
     double d_f1_dV_b2_e1=0.0;
  double n0=0.0;
     double d_n0_dV_b2_e1=0.0;
  double f2=0.0;
     double d_f2_dV_b2_c2=0.0;
     double d_f2_dV_b2_c1=0.0;
     double d_f2_dV_c1_c2=0.0;
  double nB=0.0;
     double d_nB_dV_b2_c2=0.0;
     double d_nB_dV_b2_c1=0.0;
     double d_nB_dV_c1_c2=0.0;
  double termE=0.0;
     double d_termE_dV_b2_e1=0.0;
     double d_termE_dV_b2_c2=0.0;
     double d_termE_dV_b2_c1=0.0;
     double d_termE_dV_c1_c2=0.0;
  double termC=0.0;
     double d_termC_dV_b2_c2=0.0;
     double d_termC_dV_b2_c1=0.0;
     double d_termC_dV_c1_c2=0.0;
     double d_termC_dV_b2_e1=0.0;
  double q0I=0.0;
     double d_q0I_dV_b2_e1=0.0;
     double d_q0I_dV_b2_c2=0.0;
     double d_q0I_dV_b2_c1=0.0;
     double d_q0I_dV_c1_c2=0.0;
  double q1I=0.0;
     double d_q1I_dV_b2_e1=0.0;
     double d_q1I_dV_b2_c2=0.0;
     double d_q1I_dV_b2_c1=0.0;
     double d_q1I_dV_c1_c2=0.0;
  double qBI=0.0;
     double d_qBI_dV_b2_e1=0.0;
     double d_qBI_dV_b2_c2=0.0;
     double d_qBI_dV_b2_c1=0.0;
     double d_qBI_dV_c1_c2=0.0;
  double Ir=0.0;
     double d_Ir_dV_b2_c2=0.0;
     double d_Ir_dV_b2_c1=0.0;
     double d_Ir_dV_c1_c2=0.0;
  double If=0.0;
     double d_If_dV_b2_e1=0.0;
  double In=0.0;
     double d_In_dV_b2_e1=0.0;
     double d_In_dV_b2_c2=0.0;
     double d_In_dV_b2_c1=0.0;
     double d_In_dV_c1_c2=0.0;
  double Ibf0=0.0;
  double Ib1=0.0;
     double d_Ib1_dV_b2_c2=0.0;
     double d_Ib1_dV_b2_c1=0.0;
     double d_Ib1_dV_c1_c2=0.0;
     double d_Ib1_dV_b2_e1=0.0;
  double Ib1_s=0.0;
     double d_Ib1_s_dV_b1_e1=0.0;
  double tmpExp=0.0;
     double d_tmpExp_dV_b1_b2=0.0;
     double d_tmpExp_dV_b2_c2=0.0;
     double d_tmpExp_dV_c1_c2=0.0;
     double d_tmpExp_dV_c4_c1=0.0;
     double d_tmpExp_dV_b2_e1=0.0;
  double Ib2=0.0;
     double d_Ib2_dV_b2_e1=0.0;
  double Ib3=0.0;
     double d_Ib3_dV_b1_b2=0.0;
     double d_Ib3_dV_b2_c2=0.0;
     double d_Ib3_dV_c1_c2=0.0;
     double d_Ib3_dV_c4_c1=0.0;
     double d_Ib3_dV_b2_e1=0.0;
  double eZEB=0.0;
     double d_eZEB_dV_b2_e1=0.0;
     double d_eZEB_dV_b2_c2=0.0;
     double d_eZEB_dV_b2_c1=0.0;
     double d_eZEB_dV_c1_c2=0.0;
  double x=0.0;
     double d_x_dV_b2_e1=0.0;
  double dE0BE=0.0;
     double d_dE0BE_dV_b2_e1=0.0;
  double edZEB=0.0;
     double d_edZEB_dV_b2_e1=0.0;
  double DZEB=0.0;
     double d_DZEB_dV_b2_e1=0.0;
  double Izteb=0.0;
     double d_Izteb_dV_b2_e1=0.0;
     double d_Izteb_dV_b2_c2=0.0;
     double d_Izteb_dV_b2_c1=0.0;
     double d_Izteb_dV_c1_c2=0.0;
  double g1=0.0;
     double d_g1_dV_b1_b2=0.0;
     double d_g1_dV_b2_c2=0.0;
     double d_g1_dV_c1_c2=0.0;
     double d_g1_dV_c4_c1=0.0;
  double g2=0.0;
     double d_g2_dV_b1_b2=0.0;
     double d_g2_dV_b2_c2=0.0;
     double d_g2_dV_c1_c2=0.0;
     double d_g2_dV_c4_c1=0.0;
  double nBex=0.0;
     double d_nBex_dV_b1_b2=0.0;
     double d_nBex_dV_b2_c2=0.0;
     double d_nBex_dV_c1_c2=0.0;
     double d_nBex_dV_c4_c1=0.0;
  double pWex=0.0;
     double d_pWex_dV_b1_b2=0.0;
     double d_pWex_dV_b2_c2=0.0;
     double d_pWex_dV_c1_c2=0.0;
     double d_pWex_dV_c4_c1=0.0;
  double Iex=0.0;
     double d_Iex_dV_b1_b2=0.0;
     double d_Iex_dV_b2_c2=0.0;
     double d_Iex_dV_c1_c2=0.0;
     double d_Iex_dV_c4_c1=0.0;
  double Isub=0.0;
     double d_Isub_dV_b1_b2=0.0;
     double d_Isub_dV_b2_c2=0.0;
     double d_Isub_dV_c1_c2=0.0;
     double d_Isub_dV_c4_c1=0.0;
     double d_Isub_dV_s_c1=0.0;
  double Isf=0.0;
     double d_Isf_dV_s_c1=0.0;
  double XIex=0.0;
     double d_XIex_dV_b_c=0.0;
     double d_XIex_dV_b_b1=0.0;
     double d_XIex_dV_b1_b2=0.0;
     double d_XIex_dV_c4_c1=0.0;
     double d_XIex_dV_c3_c1=0.0;
     double d_XIex_dV_c3_c4=0.0;
     double d_XIex_dV_b2_e1=0.0;
     double d_XIex_dV_b2_c2=0.0;
     double d_XIex_dV_b2_c1=0.0;
     double d_XIex_dV_c1_c2=0.0;
     double d_XIex_dV_s_c1=0.0;
  double XIsub=0.0;
     double d_XIsub_dV_b_c=0.0;
     double d_XIsub_dV_b_b1=0.0;
     double d_XIsub_dV_b1_b2=0.0;
     double d_XIsub_dV_c4_c1=0.0;
     double d_XIsub_dV_c3_c1=0.0;
     double d_XIsub_dV_c3_c4=0.0;
     double d_XIsub_dV_b2_e1=0.0;
     double d_XIsub_dV_b2_c2=0.0;
     double d_XIsub_dV_b2_c1=0.0;
     double d_XIsub_dV_c1_c2=0.0;
     double d_XIsub_dV_s_c1=0.0;
  double Xg1=0.0;
     double d_Xg1_dV_b_c=0.0;
     double d_Xg1_dV_b_b1=0.0;
     double d_Xg1_dV_b1_b2=0.0;
     double d_Xg1_dV_b2_c2=0.0;
     double d_Xg1_dV_c1_c2=0.0;
     double d_Xg1_dV_c4_c1=0.0;
     double d_Xg1_dV_c3_c1=0.0;
     double d_Xg1_dV_c3_c4=0.0;
  double XnBex=0.0;
     double d_XnBex_dV_b_c=0.0;
     double d_XnBex_dV_b_b1=0.0;
     double d_XnBex_dV_b1_b2=0.0;
     double d_XnBex_dV_b2_c2=0.0;
     double d_XnBex_dV_c1_c2=0.0;
     double d_XnBex_dV_c4_c1=0.0;
     double d_XnBex_dV_c3_c1=0.0;
     double d_XnBex_dV_c3_c4=0.0;
  double XIMex=0.0;
     double d_XIMex_dV_b_c=0.0;
     double d_XIMex_dV_b_b1=0.0;
     double d_XIMex_dV_b1_b2=0.0;
     double d_XIMex_dV_b2_c2=0.0;
     double d_XIMex_dV_c1_c2=0.0;
     double d_XIMex_dV_c4_c1=0.0;
     double d_XIMex_dV_c3_c1=0.0;
     double d_XIMex_dV_c3_c4=0.0;
  double XIMsub=0.0;
     double d_XIMsub_dV_b_c=0.0;
     double d_XIMsub_dV_b_b1=0.0;
     double d_XIMsub_dV_b1_b2=0.0;
     double d_XIMsub_dV_b2_c2=0.0;
     double d_XIMsub_dV_c1_c2=0.0;
     double d_XIMsub_dV_c4_c1=0.0;
     double d_XIMsub_dV_c3_c1=0.0;
     double d_XIMsub_dV_c3_c4=0.0;
     double d_XIMsub_dV_s_c1=0.0;
  double Vex_bias=0.0;
  double Vex=0.0;
  double vdif=0.0;
     double d_vdif_dV_b_c=0.0;
     double d_vdif_dV_b_b1=0.0;
     double d_vdif_dV_b1_b2=0.0;
     double d_vdif_dV_b2_c2=0.0;
     double d_vdif_dV_c1_c2=0.0;
     double d_vdif_dV_c4_c1=0.0;
     double d_vdif_dV_c3_c1=0.0;
     double d_vdif_dV_c3_c4=0.0;
  double VBex=0.0;
     double d_VBex_dV_b_c=0.0;
     double d_VBex_dV_b_b1=0.0;
     double d_VBex_dV_b1_b2=0.0;
     double d_VBex_dV_c4_c1=0.0;
     double d_VBex_dV_c3_c1=0.0;
     double d_VBex_dV_c3_c4=0.0;
     double d_VBex_dV_b2_e1=0.0;
     double d_VBex_dV_b2_c2=0.0;
     double d_VBex_dV_b2_c1=0.0;
     double d_VBex_dV_c1_c2=0.0;
  double Fex=0.0;
     double d_Fex_dV_b_c=0.0;
     double d_Fex_dV_b_b1=0.0;
     double d_Fex_dV_b1_b2=0.0;
     double d_Fex_dV_c4_c1=0.0;
     double d_Fex_dV_c3_c1=0.0;
     double d_Fex_dV_c3_c4=0.0;
     double d_Fex_dV_b2_e1=0.0;
     double d_Fex_dV_b2_c2=0.0;
     double d_Fex_dV_b2_c1=0.0;
     double d_Fex_dV_c1_c2=0.0;
     double d_Fex_dV_s_c1=0.0;
  double q0Q=0.0;
     double d_q0Q_dV_b2_e1=0.0;
     double d_q0Q_dV_b2_c2=0.0;
     double d_q0Q_dV_b2_c1=0.0;
     double d_q0Q_dV_c1_c2=0.0;
  double q1Q=0.0;
     double d_q1Q_dV_b_c=0.0;
     double d_q1Q_dV_b_b1=0.0;
     double d_q1Q_dV_b1_b2=0.0;
     double d_q1Q_dV_c4_c1=0.0;
     double d_q1Q_dV_c3_c1=0.0;
     double d_q1Q_dV_c3_c4=0.0;
     double d_q1Q_dV_b2_e1=0.0;
     double d_q1Q_dV_b2_c2=0.0;
     double d_q1Q_dV_b2_c1=0.0;
     double d_q1Q_dV_c1_c2=0.0;
  double qBQ=0.0;
     double d_qBQ_dV_b_c=0.0;
     double d_qBQ_dV_b_b1=0.0;
     double d_qBQ_dV_b1_b2=0.0;
     double d_qBQ_dV_c4_c1=0.0;
     double d_qBQ_dV_c3_c1=0.0;
     double d_qBQ_dV_c3_c4=0.0;
     double d_qBQ_dV_b2_e1=0.0;
     double d_qBQ_dV_b2_c2=0.0;
     double d_qBQ_dV_b2_c1=0.0;
     double d_qBQ_dV_c1_c2=0.0;
  double Rb2=0.0;
     double d_Rb2_dV_b_c=0.0;
     double d_Rb2_dV_b_b1=0.0;
     double d_Rb2_dV_b1_b2=0.0;
     double d_Rb2_dV_c4_c1=0.0;
     double d_Rb2_dV_c3_c1=0.0;
     double d_Rb2_dV_c3_c4=0.0;
     double d_Rb2_dV_b2_e1=0.0;
     double d_Rb2_dV_b2_c2=0.0;
     double d_Rb2_dV_b2_c1=0.0;
     double d_Rb2_dV_c1_c2=0.0;
  double Ib1b2=0.0;
     double d_Ib1b2_dV_b1_b2=0.0;
     double d_Ib1b2_dV_b_c=0.0;
     double d_Ib1b2_dV_b_b1=0.0;
     double d_Ib1b2_dV_c4_c1=0.0;
     double d_Ib1b2_dV_c3_c1=0.0;
     double d_Ib1b2_dV_c3_c4=0.0;
     double d_Ib1b2_dV_b2_e1=0.0;
     double d_Ib1b2_dV_b2_c2=0.0;
     double d_Ib1b2_dV_b2_c1=0.0;
     double d_Ib1b2_dV_c1_c2=0.0;
  double Iavl=0.0;
     double d_Iavl_dV_b2_c2=0.0;
     double d_Iavl_dV_b2_c1=0.0;
     double d_Iavl_dV_c1_c2=0.0;
     double d_Iavl_dV_b_c=0.0;
     double d_Iavl_dV_b_b1=0.0;
     double d_Iavl_dV_b1_b2=0.0;
     double d_Iavl_dV_c4_c1=0.0;
     double d_Iavl_dV_c3_c1=0.0;
     double d_Iavl_dV_c3_c4=0.0;
     double d_Iavl_dV_b2_e1=0.0;
  double Gem=0.0;
     double d_Gem_dV_b2_c1=0.0;
     double d_Gem_dV_b2_c2=0.0;
     double d_Gem_dV_c1_c2=0.0;
  double dEdx0=0.0;
  double xd=0.0;
     double d_xd_dV_b2_c2=0.0;
     double d_xd_dV_b2_c1=0.0;
     double d_xd_dV_c1_c2=0.0;
  double xi_w1=0.0;
     double d_xi_w1_dV_b2_c2=0.0;
     double d_xi_w1_dV_b2_c1=0.0;
     double d_xi_w1_dV_c1_c2=0.0;
  double Weff=0.0;
     double d_Weff_dV_b2_c2=0.0;
     double d_Weff_dV_b2_c1=0.0;
     double d_Weff_dV_c1_c2=0.0;
  double Wd=0.0;
     double d_Wd_dV_b2_c2=0.0;
     double d_Wd_dV_b2_c1=0.0;
     double d_Wd_dV_c1_c2=0.0;
  double Eav=0.0;
     double d_Eav_dV_b2_c1=0.0;
     double d_Eav_dV_b2_c2=0.0;
     double d_Eav_dV_c1_c2=0.0;
  double E0=0.0;
     double d_E0_dV_b2_c1=0.0;
     double d_E0_dV_b2_c2=0.0;
     double d_E0_dV_c1_c2=0.0;
  double SHw=0.0;
     double d_SHw_dV_b2_c2=0.0;
     double d_SHw_dV_b2_c1=0.0;
     double d_SHw_dV_c1_c2=0.0;
  double Efi=0.0;
  double Ew=0.0;
     double d_Ew_dV_b2_c1=0.0;
     double d_Ew_dV_b2_c2=0.0;
     double d_Ew_dV_c1_c2=0.0;
  double Em=0.0;
     double d_Em_dV_b2_c1=0.0;
     double d_Em_dV_b2_c2=0.0;
     double d_Em_dV_c1_c2=0.0;
  double EmEav_Em=0.0;
     double d_EmEav_Em_dV_b2_c1=0.0;
     double d_EmEav_Em_dV_b2_c2=0.0;
     double d_EmEav_Em_dV_c1_c2=0.0;
  double lambda=0.0;
     double d_lambda_dV_b2_c2=0.0;
     double d_lambda_dV_b2_c1=0.0;
     double d_lambda_dV_c1_c2=0.0;
  double Gmax=0.0;
     double d_Gmax_dV_b2_c2=0.0;
     double d_Gmax_dV_b2_c1=0.0;
     double d_Gmax_dV_c1_c2=0.0;
     double d_Gmax_dV_b_c=0.0;
     double d_Gmax_dV_b_b1=0.0;
     double d_Gmax_dV_b1_b2=0.0;
     double d_Gmax_dV_c4_c1=0.0;
     double d_Gmax_dV_c3_c1=0.0;
     double d_Gmax_dV_c3_c4=0.0;
     double d_Gmax_dV_b2_e1=0.0;
  double Vb2c2star=0.0;
  double Qte=0.0;
     double d_Qte_dV_b2_e1=0.0;
     double d_Qte_dV_b2_c2=0.0;
     double d_Qte_dV_b2_c1=0.0;
     double d_Qte_dV_c1_c2=0.0;
  double Vje_s=0.0;
     double d_Vje_s_dV_b1_e1=0.0;
     double d_Vje_s_dV_b2_e1=0.0;
     double d_Vje_s_dV_b2_c2=0.0;
     double d_Vje_s_dV_b2_c1=0.0;
     double d_Vje_s_dV_c1_c2=0.0;
  double Qte_s=0.0;
     double d_Qte_s_dV_b1_e1=0.0;
     double d_Qte_s_dV_b2_e1=0.0;
     double d_Qte_s_dV_b2_c2=0.0;
     double d_Qte_s_dV_b2_c1=0.0;
     double d_Qte_s_dV_c1_c2=0.0;
  double Qtc=0.0;
     double d_Qtc_dV_b2_c2=0.0;
     double d_Qtc_dV_b2_c1=0.0;
     double d_Qtc_dV_c1_c2=0.0;
     double d_Qtc_dV_b2_e1=0.0;
  double Qb0=0.0;
  double Qbe_qs=0.0;
     double d_Qbe_qs_dV_b2_e1=0.0;
     double d_Qbe_qs_dV_b_c=0.0;
     double d_Qbe_qs_dV_b_b1=0.0;
     double d_Qbe_qs_dV_b1_b2=0.0;
     double d_Qbe_qs_dV_c4_c1=0.0;
     double d_Qbe_qs_dV_c3_c1=0.0;
     double d_Qbe_qs_dV_c3_c4=0.0;
     double d_Qbe_qs_dV_b2_c2=0.0;
     double d_Qbe_qs_dV_b2_c1=0.0;
     double d_Qbe_qs_dV_c1_c2=0.0;
  double Qbc_qs=0.0;
     double d_Qbc_qs_dV_b2_c2=0.0;
     double d_Qbc_qs_dV_b2_c1=0.0;
     double d_Qbc_qs_dV_c1_c2=0.0;
     double d_Qbc_qs_dV_b_c=0.0;
     double d_Qbc_qs_dV_b_b1=0.0;
     double d_Qbc_qs_dV_b1_b2=0.0;
     double d_Qbc_qs_dV_c4_c1=0.0;
     double d_Qbc_qs_dV_c3_c1=0.0;
     double d_Qbc_qs_dV_c3_c4=0.0;
     double d_Qbc_qs_dV_b2_e1=0.0;
  double a_VDC=0.0;
  double Vjcex=0.0;
     double d_Vjcex_dV_b1_b2=0.0;
     double d_Vjcex_dV_b2_c2=0.0;
     double d_Vjcex_dV_c1_c2=0.0;
     double d_Vjcex_dV_c4_c1=0.0;
     double d_Vjcex_dV_b1_e1=0.0;
     double d_Vjcex_dV_b2_e1=0.0;
     double d_Vjcex_dV_b2_c1=0.0;
  double Vtexv=0.0;
     double d_Vtexv_dV_b1_b2=0.0;
     double d_Vtexv_dV_b2_c2=0.0;
     double d_Vtexv_dV_c1_c2=0.0;
     double d_Vtexv_dV_c4_c1=0.0;
     double d_Vtexv_dV_b1_e1=0.0;
     double d_Vtexv_dV_b2_e1=0.0;
     double d_Vtexv_dV_b2_c1=0.0;
  double Qtex=0.0;
     double d_Qtex_dV_b1_b2=0.0;
     double d_Qtex_dV_b2_c2=0.0;
     double d_Qtex_dV_c1_c2=0.0;
     double d_Qtex_dV_c4_c1=0.0;
     double d_Qtex_dV_b1_e1=0.0;
     double d_Qtex_dV_b2_e1=0.0;
     double d_Qtex_dV_b2_c1=0.0;
  double XVjcex=0.0;
     double d_XVjcex_dV_b_c=0.0;
     double d_XVjcex_dV_b_b1=0.0;
     double d_XVjcex_dV_b1_b2=0.0;
     double d_XVjcex_dV_b2_c2=0.0;
     double d_XVjcex_dV_c1_c2=0.0;
     double d_XVjcex_dV_c4_c1=0.0;
     double d_XVjcex_dV_c3_c1=0.0;
     double d_XVjcex_dV_c3_c4=0.0;
     double d_XVjcex_dV_b1_e1=0.0;
     double d_XVjcex_dV_b2_e1=0.0;
     double d_XVjcex_dV_b2_c1=0.0;
  double XVtexv=0.0;
     double d_XVtexv_dV_b_c=0.0;
     double d_XVtexv_dV_b_b1=0.0;
     double d_XVtexv_dV_b1_b2=0.0;
     double d_XVtexv_dV_b2_c2=0.0;
     double d_XVtexv_dV_c1_c2=0.0;
     double d_XVtexv_dV_c4_c1=0.0;
     double d_XVtexv_dV_c3_c1=0.0;
     double d_XVtexv_dV_c3_c4=0.0;
     double d_XVtexv_dV_b1_e1=0.0;
     double d_XVtexv_dV_b2_e1=0.0;
     double d_XVtexv_dV_b2_c1=0.0;
  double XQtex=0.0;
     double d_XQtex_dV_b_c=0.0;
     double d_XQtex_dV_b_b1=0.0;
     double d_XQtex_dV_b1_b2=0.0;
     double d_XQtex_dV_b2_c2=0.0;
     double d_XQtex_dV_c1_c2=0.0;
     double d_XQtex_dV_c4_c1=0.0;
     double d_XQtex_dV_c3_c1=0.0;
     double d_XQtex_dV_c3_c4=0.0;
     double d_XQtex_dV_b1_e1=0.0;
     double d_XQtex_dV_b2_e1=0.0;
     double d_XQtex_dV_b2_c1=0.0;
  double a_VDS=0.0;
  double Vfs=0.0;
  double Vjs=0.0;
     double d_Vjs_dV_s_c1=0.0;
     double d_Vjs_dV_b_c=0.0;
     double d_Vjs_dV_b_b1=0.0;
     double d_Vjs_dV_c3_c1=0.0;
     double d_Vjs_dV_c3_c4=0.0;
     double d_Vjs_dV_b1_b2=0.0;
     double d_Vjs_dV_c4_c1=0.0;
     double d_Vjs_dV_b1_e1=0.0;
     double d_Vjs_dV_b2_e1=0.0;
     double d_Vjs_dV_b2_c2=0.0;
     double d_Vjs_dV_b2_c1=0.0;
     double d_Vjs_dV_c1_c2=0.0;
  double Qts=0.0;
     double d_Qts_dV_s_c1=0.0;
     double d_Qts_dV_b_c=0.0;
     double d_Qts_dV_b_b1=0.0;
     double d_Qts_dV_c3_c1=0.0;
     double d_Qts_dV_c3_c4=0.0;
     double d_Qts_dV_b1_b2=0.0;
     double d_Qts_dV_c4_c1=0.0;
     double d_Qts_dV_b1_e1=0.0;
     double d_Qts_dV_b2_e1=0.0;
     double d_Qts_dV_b2_c2=0.0;
     double d_Qts_dV_b2_c1=0.0;
     double d_Qts_dV_c1_c2=0.0;
  double Qe0=0.0;
  double Qe_qs=0.0;
     double d_Qe_qs_dV_b1_b2=0.0;
     double d_Qe_qs_dV_b2_c2=0.0;
     double d_Qe_qs_dV_c1_c2=0.0;
     double d_Qe_qs_dV_c4_c1=0.0;
     double d_Qe_qs_dV_b2_e1=0.0;
  double Qepi0=0.0;
  double Qepi=0.0;
     double d_Qepi_dV_b2_c2=0.0;
     double d_Qepi_dV_b2_c1=0.0;
     double d_Qepi_dV_c1_c2=0.0;
  double Qex=0.0;
     double d_Qex_dV_b1_b2=0.0;
     double d_Qex_dV_b2_c2=0.0;
     double d_Qex_dV_c1_c2=0.0;
     double d_Qex_dV_c4_c1=0.0;
  double XQex=0.0;
     double d_XQex_dV_b_c=0.0;
     double d_XQex_dV_b_b1=0.0;
     double d_XQex_dV_b1_b2=0.0;
     double d_XQex_dV_c4_c1=0.0;
     double d_XQex_dV_c3_c1=0.0;
     double d_XQex_dV_c3_c4=0.0;
     double d_XQex_dV_b2_e1=0.0;
     double d_XQex_dV_b2_c2=0.0;
     double d_XQex_dV_b2_c1=0.0;
     double d_XQex_dV_c1_c2=0.0;
     double d_XQex_dV_s_c1=0.0;
  double Xg2=0.0;
     double d_Xg2_dV_b_c=0.0;
     double d_Xg2_dV_b_b1=0.0;
     double d_Xg2_dV_b1_b2=0.0;
     double d_Xg2_dV_b2_c2=0.0;
     double d_Xg2_dV_c1_c2=0.0;
     double d_Xg2_dV_c4_c1=0.0;
     double d_Xg2_dV_c3_c1=0.0;
     double d_Xg2_dV_c3_c4=0.0;
  double XpWex=0.0;
     double d_XpWex_dV_b_c=0.0;
     double d_XpWex_dV_b_b1=0.0;
     double d_XpWex_dV_b1_b2=0.0;
     double d_XpWex_dV_b2_c2=0.0;
     double d_XpWex_dV_c1_c2=0.0;
     double d_XpWex_dV_c4_c1=0.0;
     double d_XpWex_dV_c3_c1=0.0;
     double d_XpWex_dV_c3_c4=0.0;
  double Qb1b2=0.0;
     double d_Qb1b2_dV_b1_b2=0.0;
     double d_Qb1b2_dV_b2_e1=0.0;
     double d_Qb1b2_dV_b2_c2=0.0;
     double d_Qb1b2_dV_b2_c1=0.0;
     double d_Qb1b2_dV_c1_c2=0.0;
     double d_Qb1b2_dV_b_c=0.0;
     double d_Qb1b2_dV_b_b1=0.0;
     double d_Qb1b2_dV_c4_c1=0.0;
     double d_Qb1b2_dV_c3_c1=0.0;
     double d_Qb1b2_dV_c3_c4=0.0;
  double dVteVje=0.0;
     double d_dVteVje_dV_b2_e1=0.0;
     double d_dVteVje_dV_b2_c2=0.0;
     double d_dVteVje_dV_b2_c1=0.0;
     double d_dVteVje_dV_c1_c2=0.0;
  double Vb2e1Vfe=0.0;
     double d_Vb2e1Vfe_dV_b2_e1=0.0;
  double dVjeVb2e1=0.0;
     double d_dVjeVb2e1_dV_b2_e1=0.0;
  double dVteVb2e1=0.0;
     double d_dVteVb2e1_dV_b2_e1=0.0;
     double d_dVteVb2e1_dV_b2_c2=0.0;
     double d_dVteVb2e1_dV_b2_c1=0.0;
     double d_dVteVb2e1_dV_c1_c2=0.0;
  double dQteVb2e1=0.0;
     double d_dQteVb2e1_dV_b2_e1=0.0;
     double d_dQteVb2e1_dV_b2_c2=0.0;
     double d_dQteVb2e1_dV_b2_c1=0.0;
     double d_dQteVb2e1_dV_c1_c2=0.0;
  double dn0Vb2e1=0.0;
     double d_dn0Vb2e1_dV_b2_e1=0.0;
  double dQbeVb2e1=0.0;
     double d_dQbeVb2e1_dV_b_c=0.0;
     double d_dQbeVb2e1_dV_b_b1=0.0;
     double d_dQbeVb2e1_dV_b1_b2=0.0;
     double d_dQbeVb2e1_dV_c4_c1=0.0;
     double d_dQbeVb2e1_dV_c3_c1=0.0;
     double d_dQbeVb2e1_dV_c3_c4=0.0;
     double d_dQbeVb2e1_dV_b2_e1=0.0;
     double d_dQbeVb2e1_dV_b2_c2=0.0;
     double d_dQbeVb2e1_dV_b2_c1=0.0;
     double d_dQbeVb2e1_dV_c1_c2=0.0;
  double dQeVb2e1=0.0;
     double d_dQeVb2e1_dV_b1_b2=0.0;
     double d_dQeVb2e1_dV_b2_c2=0.0;
     double d_dQeVb2e1_dV_c1_c2=0.0;
     double d_dQeVb2e1_dV_c4_c1=0.0;
     double d_dQeVb2e1_dV_b2_e1=0.0;
  double Qe=0.0;
     double d_Qe_dV_b1_b2=0.0;
     double d_Qe_dV_b2_c2=0.0;
     double d_Qe_dV_c1_c2=0.0;
     double d_Qe_dV_c4_c1=0.0;
     double d_Qe_dV_b2_e1=0.0;
  double Qbe_qs_eff=0.0;
     double d_Qbe_qs_eff_dV_b2_e1=0.0;
     double d_Qbe_qs_eff_dV_b_c=0.0;
     double d_Qbe_qs_eff_dV_b_b1=0.0;
     double d_Qbe_qs_eff_dV_b1_b2=0.0;
     double d_Qbe_qs_eff_dV_c4_c1=0.0;
     double d_Qbe_qs_eff_dV_c3_c1=0.0;
     double d_Qbe_qs_eff_dV_c3_c4=0.0;
     double d_Qbe_qs_eff_dV_b2_c2=0.0;
     double d_Qbe_qs_eff_dV_b2_c1=0.0;
     double d_Qbe_qs_eff_dV_c1_c2=0.0;
  double Qbc=0.0;
     double d_Qbc_dV_b2_e1=0.0;
     double d_Qbc_dV_b_c=0.0;
     double d_Qbc_dV_b_b1=0.0;
     double d_Qbc_dV_b1_b2=0.0;
     double d_Qbc_dV_c4_c1=0.0;
     double d_Qbc_dV_c3_c1=0.0;
     double d_Qbc_dV_c3_c4=0.0;
     double d_Qbc_dV_b2_c2=0.0;
     double d_Qbc_dV_b2_c1=0.0;
     double d_Qbc_dV_c1_c2=0.0;
  double Qbe=0.0;
     double d_Qbe_dV_b2_e1=0.0;
     double d_Qbe_dV_b_c=0.0;
     double d_Qbe_dV_b_b1=0.0;
     double d_Qbe_dV_b1_b2=0.0;
     double d_Qbe_dV_c4_c1=0.0;
     double d_Qbe_dV_c3_c1=0.0;
     double d_Qbe_dV_c3_c4=0.0;
     double d_Qbe_dV_b2_c2=0.0;
     double d_Qbe_dV_b2_c1=0.0;
     double d_Qbe_dV_c1_c2=0.0;
 // temporary variables for limiting
 double Vb1b2_orig,Vb1b2_limited,Vb1b2_old;
 double Vb1e1_orig,Vb1e1_limited,Vb1e1_old;
 double Vb2c2_orig,Vb2c2_limited,Vb2c2_old;
 double Vb2c1_orig,Vb2c1_limited,Vb2c1_old;


  // set the sizes of the Fad arrays:

  if (probeVars.size() != (27))
  {
    probeVars.resize(27);
    d_probeVars.resize(27);
    for (int i=0;i<27;i++)
    {
      d_probeVars[i].resize(27);
      for (int j=0;j<27;j++)
        d_probeVars[i][j]=0.0;
    }
    staticContributions.resize(12+0);
    d_staticContributions.resize(12+0);
    for (int i=0;i<12+0;i++)
      d_staticContributions[i].resize(27);
    dynamicContributions.resize(12+0);
    d_dynamicContributions.resize(12+0);
    for (int i=0;i<12+0;i++)
      d_dynamicContributions[i].resize(27);
    probeDiffs.resize(27,0.0);
    Jdxp_static.resize(12+0);
    Jdxp_dynamic.resize(12+0);
  }

    noiseContribsPower.resize(26);
    noiseContribsExponent.resize(26);

  // initialize contributions to zero (automatically sets derivatives to zero)
  for (int i=0; i < 12+0 ; ++i)
  {
     staticContributions[i]=0;
     for (int j=0;j<27;j++)
        d_staticContributions[i][j] = 0.0;
     dynamicContributions[i]=0;
     for (int j=0;j<27;j++)
        d_dynamicContributions[i][j] = 0.0;
     Jdxp_static[i]=0;
     Jdxp_dynamic[i]=0;
  }

  for (int i=0; i < 27 ; ++i)
  {
    probeDiffs[i] = 0.0;
  }
  // extract solution variables and set as Fad independent variables.
probeVars[admsProbeID_V_s_GND] = (*solVectorPtr)[li_s];
d_probeVars[admsProbeID_V_s_GND][admsProbeID_V_s_GND] = 1.0;
probeVars[admsProbeID_V_b_GND] = (*solVectorPtr)[li_b];
d_probeVars[admsProbeID_V_b_GND][admsProbeID_V_b_GND] = 1.0;
probeVars[admsProbeID_V_b2_GND] = (*solVectorPtr)[li_b2];
d_probeVars[admsProbeID_V_b2_GND][admsProbeID_V_b2_GND] = 1.0;
probeVars[admsProbeID_V_b1_GND] = (*solVectorPtr)[li_b1];
d_probeVars[admsProbeID_V_b1_GND][admsProbeID_V_b1_GND] = 1.0;
probeVars[admsProbeID_V_e_GND] = (*solVectorPtr)[li_e];
d_probeVars[admsProbeID_V_e_GND][admsProbeID_V_e_GND] = 1.0;
probeVars[admsProbeID_V_c1_GND] = (*solVectorPtr)[li_c1];
d_probeVars[admsProbeID_V_c1_GND][admsProbeID_V_c1_GND] = 1.0;
probeVars[admsProbeID_V_c2_GND] = (*solVectorPtr)[li_c2];
d_probeVars[admsProbeID_V_c2_GND][admsProbeID_V_c2_GND] = 1.0;
probeVars[admsProbeID_V_e1_GND] = (*solVectorPtr)[li_e1];
d_probeVars[admsProbeID_V_e1_GND][admsProbeID_V_e1_GND] = 1.0;
probeVars[admsProbeID_V_s_c] = (*solVectorPtr)[li_s] - (*solVectorPtr)[li_c];
d_probeVars[admsProbeID_V_s_c][admsProbeID_V_s_c] = 1.0;
probeVars[admsProbeID_V_b_s] = (*solVectorPtr)[li_b] - (*solVectorPtr)[li_s];
d_probeVars[admsProbeID_V_b_s][admsProbeID_V_b_s] = 1.0;
probeVars[admsProbeID_V_s_e] = (*solVectorPtr)[li_s] - (*solVectorPtr)[li_e];
d_probeVars[admsProbeID_V_s_e][admsProbeID_V_s_e] = 1.0;
probeVars[admsProbeID_V_c_e] = (*solVectorPtr)[li_c] - (*solVectorPtr)[li_e];
d_probeVars[admsProbeID_V_c_e][admsProbeID_V_c_e] = 1.0;
probeVars[admsProbeID_V_noi_GND] = (*solVectorPtr)[li_noi];
d_probeVars[admsProbeID_V_noi_GND][admsProbeID_V_noi_GND] = 1.0;
probeVars[admsProbeID_V_c3_c1] = (*solVectorPtr)[li_c3] - (*solVectorPtr)[li_c1];
d_probeVars[admsProbeID_V_c3_c1][admsProbeID_V_c3_c1] = 1.0;
probeVars[admsProbeID_V_c3_c4] = (*solVectorPtr)[li_c3] - (*solVectorPtr)[li_c4];
d_probeVars[admsProbeID_V_c3_c4][admsProbeID_V_c3_c4] = 1.0;
probeVars[admsProbeID_V_c4_c1] = (*solVectorPtr)[li_c4] - (*solVectorPtr)[li_c1];
d_probeVars[admsProbeID_V_c4_c1][admsProbeID_V_c4_c1] = 1.0;
probeVars[admsProbeID_V_b_c] = (*solVectorPtr)[li_b] - (*solVectorPtr)[li_c];
d_probeVars[admsProbeID_V_b_c][admsProbeID_V_b_c] = 1.0;
probeVars[admsProbeID_V_b_e] = (*solVectorPtr)[li_b] - (*solVectorPtr)[li_e];
d_probeVars[admsProbeID_V_b_e][admsProbeID_V_b_e] = 1.0;
probeVars[admsProbeID_V_b_b1] = (*solVectorPtr)[li_b] - (*solVectorPtr)[li_b1];
d_probeVars[admsProbeID_V_b_b1][admsProbeID_V_b_b1] = 1.0;
probeVars[admsProbeID_V_e_e1] = (*solVectorPtr)[li_e] - (*solVectorPtr)[li_e1];
d_probeVars[admsProbeID_V_e_e1][admsProbeID_V_e_e1] = 1.0;
probeVars[admsProbeID_V_c1_c2] = (*solVectorPtr)[li_c1] - (*solVectorPtr)[li_c2];
d_probeVars[admsProbeID_V_c1_c2][admsProbeID_V_c1_c2] = 1.0;
probeVars[admsProbeID_V_s_c1] = (*solVectorPtr)[li_s] - (*solVectorPtr)[li_c1];
d_probeVars[admsProbeID_V_s_c1][admsProbeID_V_s_c1] = 1.0;
probeVars[admsProbeID_V_b1_b2] = (*solVectorPtr)[li_b1] - (*solVectorPtr)[li_b2];
d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2] = 1.0;
probeVars[admsProbeID_V_b1_e1] = (*solVectorPtr)[li_b1] - (*solVectorPtr)[li_e1];
d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1] = 1.0;
probeVars[admsProbeID_V_b2_e1] = (*solVectorPtr)[li_b2] - (*solVectorPtr)[li_e1];
d_probeVars[admsProbeID_V_b2_e1][admsProbeID_V_b2_e1] = 1.0;
probeVars[admsProbeID_V_b2_c2] = (*solVectorPtr)[li_b2] - (*solVectorPtr)[li_c2];
d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2] = 1.0;
probeVars[admsProbeID_V_b2_c1] = (*solVectorPtr)[li_b2] - (*solVectorPtr)[li_c1];
d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1] = 1.0;


    // pre-multiply any "typed" probes (i.e. those limited with "typedpnjlim")
probeVars[admsProbeID_V_b1_b2] *= (model_.TYPE);
d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2] *= (model_.TYPE);
probeVars[admsProbeID_V_b1_e1] *= (model_.TYPE);
d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1] *= (model_.TYPE);
probeVars[admsProbeID_V_b2_c2] *= (model_.TYPE);
d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2] *= (model_.TYPE);
probeVars[admsProbeID_V_b2_c1] *= (model_.TYPE);
d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1] *= (model_.TYPE);

// Copy probes into limiting vars

  Vb1b2_orig = Vb1b2_limited = probeVars[admsProbeID_V_b1_b2];
  probeDiffs[admsProbeID_V_b1_b2] = 0.0;
  Vb1e1_orig = Vb1e1_limited = probeVars[admsProbeID_V_b1_e1];
  probeDiffs[admsProbeID_V_b1_e1] = 0.0;
  Vb2c2_orig = Vb2c2_limited = probeVars[admsProbeID_V_b2_c2];
  probeDiffs[admsProbeID_V_b2_c2] = 0.0;
  Vb2c1_orig = Vb2c1_limited = probeVars[admsProbeID_V_b2_c1];
  probeDiffs[admsProbeID_V_b2_c1] = 0.0;

  origFlag = true;

  if (getSolverState().newtonIter == 0)
  {

    if (!(getSolverState().dcopFlag)||(getSolverState().locaEnabledFlag && getSolverState().dcopFlag))
    {
       Vb1b2_old = ((*extData.currStoVectorPtr))[li_store_admsProbeID_V_b1_b2];
       Vb1e1_old = ((*extData.currStoVectorPtr))[li_store_admsProbeID_V_b1_e1];
       Vb2c2_old = ((*extData.currStoVectorPtr))[li_store_admsProbeID_V_b2_c2];
       Vb2c1_old = ((*extData.currStoVectorPtr))[li_store_admsProbeID_V_b2_c1];
    }
    else
    {
       Vb1b2_old = Vb1b2_limited;
       Vb1e1_old = Vb1e1_limited;
       Vb2c2_old = Vb2c2_limited;
       Vb2c1_old = Vb2c1_limited;
    }
  }
  else
  {
     Vb1b2_old = ((*extData.nextStoVectorPtr))[li_store_admsProbeID_V_b1_b2];
     Vb1e1_old = ((*extData.nextStoVectorPtr))[li_store_admsProbeID_V_b1_e1];
     Vb2c2_old = ((*extData.nextStoVectorPtr))[li_store_admsProbeID_V_b2_c2];
     Vb2c1_old = ((*extData.nextStoVectorPtr))[li_store_admsProbeID_V_b2_c1];
}
// -- code converted from analog/code block
{


//Vb2c1 = ($limit(V(b2,c1),"trunc_ev","typed",TYPE,(-VER),0.7));
if (getDeviceOptions().voltageLimiterFlag)
{
  int icheck=0;
  Vb2c1_limited = AnalogFunctions::trunc_ev(Vb2c1_limited,Vb2c1_old,(-(model_.VER)),0.7);
if (Vb2c1_limited != Vb2c1_orig)
{
icheck=1;
}
  if (icheck == 1)
     origFlag = false;
  if (!origFlag)
  {
    probeDiffs[admsProbeID_V_b2_c1] = Vb2c1_limited - Vb2c1_orig;
    probeVars[admsProbeID_V_b2_c1] += probeDiffs[admsProbeID_V_b2_c1];
  }
}
Vb2c1 = probeVars[admsProbeID_V_b2_c1];

d_Vb2c1_dV_b2_c1 = d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1];



//Vb2c2 = ($limit(V(b2,c2),"trunc_ev","typed",TYPE,(-VER),0.7));
if (getDeviceOptions().voltageLimiterFlag)
{
  int icheck=0;
  Vb2c2_limited = AnalogFunctions::trunc_ev(Vb2c2_limited,Vb2c2_old,(-(model_.VER)),0.7);
if (Vb2c2_limited != Vb2c2_orig)
{
icheck=1;
}
  if (icheck == 1)
     origFlag = false;
  if (!origFlag)
  {
    probeDiffs[admsProbeID_V_b2_c2] = Vb2c2_limited - Vb2c2_orig;
    probeVars[admsProbeID_V_b2_c2] += probeDiffs[admsProbeID_V_b2_c2];
  }
}
Vb2c2 = probeVars[admsProbeID_V_b2_c2];

d_Vb2c2_dV_b2_c2 = d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2];


d_Vb2e1_dV_b2_e1 = (model_.TYPE)*d_probeVars[admsProbeID_V_b2_e1][admsProbeID_V_b2_e1];
Vb2e1 = ((model_.TYPE)*(probeVars[admsProbeID_V_b2_e1]));


//Vb1e1 = ($limit(V(b1,e1),"trunc_ev","typed",TYPE,(-VER),0.7));
if (getDeviceOptions().voltageLimiterFlag)
{
  int icheck=0;
  Vb1e1_limited = AnalogFunctions::trunc_ev(Vb1e1_limited,Vb1e1_old,(-(model_.VER)),0.7);
if (Vb1e1_limited != Vb1e1_orig)
{
icheck=1;
}
  if (icheck == 1)
     origFlag = false;
  if (!origFlag)
  {
    probeDiffs[admsProbeID_V_b1_e1] = Vb1e1_limited - Vb1e1_orig;
    probeVars[admsProbeID_V_b1_e1] += probeDiffs[admsProbeID_V_b1_e1];
  }
}
Vb1e1 = probeVars[admsProbeID_V_b1_e1];

d_Vb1e1_dV_b1_e1 = d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1];



//Vb1b2 = ($limit(V(b1,b2),"trunc_ev","typed",TYPE,(-VER),0.7));
if (getDeviceOptions().voltageLimiterFlag)
{
  int icheck=0;
  Vb1b2_limited = AnalogFunctions::trunc_ev(Vb1b2_limited,Vb1b2_old,(-(model_.VER)),0.7);
if (Vb1b2_limited != Vb1b2_orig)
{
icheck=1;
}
  if (icheck == 1)
     origFlag = false;
  if (!origFlag)
  {
    probeDiffs[admsProbeID_V_b1_b2] = Vb1b2_limited - Vb1b2_orig;
    probeVars[admsProbeID_V_b1_b2] += probeDiffs[admsProbeID_V_b1_b2];
  }
}
Vb1b2 = probeVars[admsProbeID_V_b1_b2];

d_Vb1b2_dV_b1_b2 = d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];


d_Vsc1_dV_s_c1 = (model_.TYPE)*d_probeVars[admsProbeID_V_s_c1][admsProbeID_V_s_c1];
Vsc1 = ((model_.TYPE)*(probeVars[admsProbeID_V_s_c1]));

d_Vc1c2_dV_c1_c2 = (model_.TYPE)*d_probeVars[admsProbeID_V_c1_c2][admsProbeID_V_c1_c2];
Vc1c2 = ((model_.TYPE)*(probeVars[admsProbeID_V_c1_c2]));

d_Vee1_dV_e_e1 = (model_.TYPE)*d_probeVars[admsProbeID_V_e_e1][admsProbeID_V_e_e1];
Vee1 = ((model_.TYPE)*(probeVars[admsProbeID_V_e_e1]));

d_Vbb1_dV_b_b1 = (model_.TYPE)*d_probeVars[admsProbeID_V_b_b1][admsProbeID_V_b_b1];
Vbb1 = ((model_.TYPE)*(probeVars[admsProbeID_V_b_b1]));

d_Vbe_dV_b_e = (model_.TYPE)*d_probeVars[admsProbeID_V_b_e][admsProbeID_V_b_e];
Vbe = ((model_.TYPE)*(probeVars[admsProbeID_V_b_e]));

d_Vbc_dV_b_c = (model_.TYPE)*d_probeVars[admsProbeID_V_b_c][admsProbeID_V_b_c];
Vbc = ((model_.TYPE)*(probeVars[admsProbeID_V_b_c]));
if (((model_.RCBLX)>0.0))
{
if (((model_.RCBLI)>0.0))
{

d_Vc4c1_dV_c4_c1 = (model_.TYPE)*d_probeVars[admsProbeID_V_c4_c1][admsProbeID_V_c4_c1];
Vc4c1 = ((model_.TYPE)*(probeVars[admsProbeID_V_c4_c1]));

d_Vc3c4_dV_c3_c1 =  0.0;
d_Vc3c4_dV_c3_c4 = (model_.TYPE)*d_probeVars[admsProbeID_V_c3_c4][admsProbeID_V_c3_c4];
Vc3c4 = ((model_.TYPE)*(probeVars[admsProbeID_V_c3_c4]));
}
else
{

d_Vc4c1_dV_c4_c1 =  0.0;
Vc4c1 = 0;

d_Vc3c4_dV_c3_c4 =  0.0;
d_Vc3c4_dV_c3_c1 = (model_.TYPE)*d_probeVars[admsProbeID_V_c3_c1][admsProbeID_V_c3_c1];
Vc3c4 = ((model_.TYPE)*(probeVars[admsProbeID_V_c3_c1]));
}
}
else
{
if (((model_.RCBLI)>0.0))
{

d_Vc4c1_dV_c4_c1 = (model_.TYPE)*d_probeVars[admsProbeID_V_c4_c1][admsProbeID_V_c4_c1];
Vc4c1 = ((model_.TYPE)*(probeVars[admsProbeID_V_c4_c1]));

d_Vc3c4_dV_c3_c1 = d_Vc3c4_dV_c3_c4 =  0.0;
Vc3c4 = 0;
}
else
{

d_Vc4c1_dV_c4_c1 =  0.0;
Vc4c1 = 0;

d_Vc3c4_dV_c3_c1 = d_Vc3c4_dV_c3_c4 =  0.0;
Vc3c4 = 0;
}
}

d_Vb1c4_dV_c4_c1 = (-d_Vc4c1_dV_c4_c1);
d_Vb1c4_dV_c1_c2 = (-d_Vc1c2_dV_c1_c2);
d_Vb1c4_dV_b2_c2 = d_Vb2c2_dV_b2_c2;
d_Vb1c4_dV_b1_b2 = d_Vb1b2_dV_b1_b2;
Vb1c4 = (((Vb1b2+Vb2c2)-Vc1c2)-Vc4c1);

d_Vcc3_dV_c3_c4 = (-d_Vc3c4_dV_c3_c4);
d_Vcc3_dV_c3_c1 = (-d_Vc3c4_dV_c3_c1);
d_Vcc3_dV_c4_c1 = d_Vb1c4_dV_c4_c1;
d_Vcc3_dV_c1_c2 = d_Vb1c4_dV_c1_c2;
d_Vcc3_dV_b2_c2 = d_Vb1c4_dV_b2_c2;
d_Vcc3_dV_b1_b2 = d_Vb1c4_dV_b1_b2;
d_Vcc3_dV_b_b1 = d_Vbb1_dV_b_b1;
d_Vcc3_dV_b_c = (-d_Vbc_dV_b_c);
Vcc3 = ((((-Vbc)+Vbb1)+Vb1c4)-Vc3c4);

d_Vbc3_dV_c3_c4 = d_Vcc3_dV_c3_c4;
d_Vbc3_dV_c3_c1 = d_Vcc3_dV_c3_c1;
d_Vbc3_dV_c4_c1 = d_Vcc3_dV_c4_c1;
d_Vbc3_dV_c1_c2 = d_Vcc3_dV_c1_c2;
d_Vbc3_dV_b2_c2 = d_Vcc3_dV_b2_c2;
d_Vbc3_dV_b1_b2 = d_Vcc3_dV_b1_b2;
d_Vbc3_dV_b_b1 = d_Vcc3_dV_b_b1;
d_Vbc3_dV_b_c = (d_Vbc_dV_b_c+d_Vcc3_dV_b_c);
Vbc3 = (Vbc+Vcc3);

d_Vsc4_dV_c4_c1 = (-d_Vc4c1_dV_c4_c1);
d_Vsc4_dV_s_c1 = d_Vsc1_dV_s_c1;
Vsc4 = (Vsc1-Vc4c1);

d_Vsc3_dV_c3_c4 = (-d_Vc3c4_dV_c3_c4);
d_Vsc3_dV_c3_c1 = (-d_Vc3c4_dV_c3_c1);
d_Vsc3_dV_c4_c1 = d_Vsc4_dV_c4_c1;
d_Vsc3_dV_s_c1 = d_Vsc4_dV_s_c1;
Vsc3 = (Vsc4-Vc3c4);
if (((Vb2c2*VtINV)<400.0))
{
{
double value_exp_0 = exp((Vb2c2*VtINV));
double  deriv_exp_0_d0 = value_exp_0;

d_eVb2c2_dV_b2_c2 = (deriv_exp_0_d0*(d_Vb2c2_dV_b2_c2*VtINV));
eVb2c2 = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}

d_eVb2c2_dV_b2_c2 = expl*d_Vb2c2_dV_b2_c2*VtINV;
eVb2c2 = (expl*(1.0+((Vb2c2*VtINV)-400.0)));
}
if (((Vb2e1*VtINV)<400.0))
{
{
double value_exp_0 = exp((Vb2e1*VtINV));
double  deriv_exp_0_d0 = value_exp_0;

d_eVb2e1_dV_b2_e1 = (deriv_exp_0_d0*(d_Vb2e1_dV_b2_e1*VtINV));
eVb2e1 = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}

d_eVb2e1_dV_b2_e1 = expl*d_Vb2e1_dV_b2_e1*VtINV;
eVb2e1 = (expl*(1.0+((Vb2e1*VtINV)-400.0)));
}
if (((Vb1e1*VtINV)<400.0))
{
{
double value_exp_0 = exp((Vb1e1*VtINV));
double  deriv_exp_0_d0 = value_exp_0;

d_eVb1e1_dV_b1_e1 = (deriv_exp_0_d0*(d_Vb1e1_dV_b1_e1*VtINV));
eVb1e1 = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}

d_eVb1e1_dV_b1_e1 = expl*d_Vb1e1_dV_b1_e1*VtINV;
eVb1e1 = (expl*(1.0+((Vb1e1*VtINV)-400.0)));
}
if (((Vb1c4*VtINV)<400.0))
{
{
double value_exp_0 = exp((Vb1c4*VtINV));
double  deriv_exp_0_d0 = value_exp_0;

d_eVb1c4_dV_c4_c1 = (deriv_exp_0_d0*(d_Vb1c4_dV_c4_c1*VtINV));
d_eVb1c4_dV_c1_c2 = (deriv_exp_0_d0*(d_Vb1c4_dV_c1_c2*VtINV));
d_eVb1c4_dV_b2_c2 = (deriv_exp_0_d0*(d_Vb1c4_dV_b2_c2*VtINV));
d_eVb1c4_dV_b1_b2 = (deriv_exp_0_d0*(d_Vb1c4_dV_b1_b2*VtINV));
eVb1c4 = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}

d_eVb1c4_dV_c4_c1 = expl*d_Vb1c4_dV_c4_c1*VtINV;
d_eVb1c4_dV_c1_c2 = expl*d_Vb1c4_dV_c1_c2*VtINV;
d_eVb1c4_dV_b2_c2 = expl*d_Vb1c4_dV_b2_c2*VtINV;
d_eVb1c4_dV_b1_b2 = expl*d_Vb1c4_dV_b1_b2*VtINV;
eVb1c4 = (expl*(1.0+((Vb1c4*VtINV)-400.0)));
}
if (((Vb1b2*VtINV)<400.0))
{
{
double value_exp_0 = exp((Vb1b2*VtINV));
double  deriv_exp_0_d0 = value_exp_0;

d_eVb1b2_dV_b1_b2 = (deriv_exp_0_d0*(d_Vb1b2_dV_b1_b2*VtINV));
eVb1b2 = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}

d_eVb1b2_dV_b1_b2 = expl*d_Vb1b2_dV_b1_b2*VtINV;
eVb1b2 = (expl*(1.0+((Vb1b2*VtINV)-400.0)));
}
if (((Vbc3*VtINV)<400.0))
{
{
double value_exp_0 = exp((Vbc3*VtINV));
double  deriv_exp_0_d0 = value_exp_0;

d_eVbc3_dV_c3_c4 = (deriv_exp_0_d0*(d_Vbc3_dV_c3_c4*VtINV));
d_eVbc3_dV_c3_c1 = (deriv_exp_0_d0*(d_Vbc3_dV_c3_c1*VtINV));
d_eVbc3_dV_c4_c1 = (deriv_exp_0_d0*(d_Vbc3_dV_c4_c1*VtINV));
d_eVbc3_dV_c1_c2 = (deriv_exp_0_d0*(d_Vbc3_dV_c1_c2*VtINV));
d_eVbc3_dV_b2_c2 = (deriv_exp_0_d0*(d_Vbc3_dV_b2_c2*VtINV));
d_eVbc3_dV_b1_b2 = (deriv_exp_0_d0*(d_Vbc3_dV_b1_b2*VtINV));
d_eVbc3_dV_b_b1 = (deriv_exp_0_d0*(d_Vbc3_dV_b_b1*VtINV));
d_eVbc3_dV_b_c = (deriv_exp_0_d0*(d_Vbc3_dV_b_c*VtINV));
eVbc3 = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}

d_eVbc3_dV_c3_c4 = expl*d_Vbc3_dV_c3_c4*VtINV;
d_eVbc3_dV_c3_c1 = expl*d_Vbc3_dV_c3_c1*VtINV;
d_eVbc3_dV_c4_c1 = expl*d_Vbc3_dV_c4_c1*VtINV;
d_eVbc3_dV_c1_c2 = expl*d_Vbc3_dV_c1_c2*VtINV;
d_eVbc3_dV_b2_c2 = expl*d_Vbc3_dV_b2_c2*VtINV;
d_eVbc3_dV_b1_b2 = expl*d_Vbc3_dV_b1_b2*VtINV;
d_eVbc3_dV_b_b1 = expl*d_Vbc3_dV_b_b1*VtINV;
d_eVbc3_dV_b_c = expl*d_Vbc3_dV_b_c*VtINV;
eVbc3 = (expl*(1.0+((Vbc3*VtINV)-400.0)));
}
if (((Vsc1*VtINV)<400.0))
{
{
double value_exp_0 = exp((Vsc1*VtINV));
double  deriv_exp_0_d0 = value_exp_0;

d_eVsc1_dV_s_c1 = (deriv_exp_0_d0*(d_Vsc1_dV_s_c1*VtINV));
eVsc1 = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}

d_eVsc1_dV_s_c1 = expl*d_Vsc1_dV_s_c1*VtINV;
eVsc1 = (expl*(1.0+((Vsc1*VtINV)-400.0)));
}
if (((Vsc3*VtINV)<400.0))
{
{
double value_exp_0 = exp((Vsc3*VtINV));
double  deriv_exp_0_d0 = value_exp_0;

d_eVsc3_dV_c3_c4 = (deriv_exp_0_d0*(d_Vsc3_dV_c3_c4*VtINV));
d_eVsc3_dV_c3_c1 = (deriv_exp_0_d0*(d_Vsc3_dV_c3_c1*VtINV));
d_eVsc3_dV_c4_c1 = (deriv_exp_0_d0*(d_Vsc3_dV_c4_c1*VtINV));
d_eVsc3_dV_s_c1 = (deriv_exp_0_d0*(d_Vsc3_dV_s_c1*VtINV));
eVsc3 = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}

d_eVsc3_dV_c3_c4 = expl*d_Vsc3_dV_c3_c4*VtINV;
d_eVsc3_dV_c3_c1 = expl*d_Vsc3_dV_c3_c1*VtINV;
d_eVsc3_dV_c4_c1 = expl*d_Vsc3_dV_c4_c1*VtINV;
d_eVsc3_dV_s_c1 = expl*d_Vsc3_dV_s_c1*VtINV;
eVsc3 = (expl*(1.0+((Vsc3*VtINV)-400.0)));
}
if (((Vsc4*VtINV)<400.0))
{
{
double value_exp_0 = exp((Vsc4*VtINV));
double  deriv_exp_0_d0 = value_exp_0;

d_eVsc4_dV_c4_c1 = (deriv_exp_0_d0*(d_Vsc4_dV_c4_c1*VtINV));
d_eVsc4_dV_s_c1 = (deriv_exp_0_d0*(d_Vsc4_dV_s_c1*VtINV));
eVsc4 = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}

d_eVsc4_dV_c4_c1 = expl*d_Vsc4_dV_c4_c1*VtINV;
d_eVsc4_dV_s_c1 = expl*d_Vsc4_dV_s_c1*VtINV;
eVsc4 = (expl*(1.0+((Vsc4*VtINV)-400.0)));
}
if ((((Vbc3-VDC_T)*VtINV)<400.0))
{
{
double value_exp_0 = exp(((Vbc3-VDC_T)*VtINV));
double  deriv_exp_0_d0 = value_exp_0;

d_eVbc3VDC_dV_c3_c4 = (deriv_exp_0_d0*(d_Vbc3_dV_c3_c4*VtINV));
d_eVbc3VDC_dV_c3_c1 = (deriv_exp_0_d0*(d_Vbc3_dV_c3_c1*VtINV));
d_eVbc3VDC_dV_c4_c1 = (deriv_exp_0_d0*(d_Vbc3_dV_c4_c1*VtINV));
d_eVbc3VDC_dV_c1_c2 = (deriv_exp_0_d0*(d_Vbc3_dV_c1_c2*VtINV));
d_eVbc3VDC_dV_b2_c2 = (deriv_exp_0_d0*(d_Vbc3_dV_b2_c2*VtINV));
d_eVbc3VDC_dV_b1_b2 = (deriv_exp_0_d0*(d_Vbc3_dV_b1_b2*VtINV));
d_eVbc3VDC_dV_b_b1 = (deriv_exp_0_d0*(d_Vbc3_dV_b_b1*VtINV));
d_eVbc3VDC_dV_b_c = (deriv_exp_0_d0*(d_Vbc3_dV_b_c*VtINV));
eVbc3VDC = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}

d_eVbc3VDC_dV_c3_c4 = expl*d_Vbc3_dV_c3_c4*VtINV;
d_eVbc3VDC_dV_c3_c1 = expl*d_Vbc3_dV_c3_c1*VtINV;
d_eVbc3VDC_dV_c4_c1 = expl*d_Vbc3_dV_c4_c1*VtINV;
d_eVbc3VDC_dV_c1_c2 = expl*d_Vbc3_dV_c1_c2*VtINV;
d_eVbc3VDC_dV_b2_c2 = expl*d_Vbc3_dV_b2_c2*VtINV;
d_eVbc3VDC_dV_b1_b2 = expl*d_Vbc3_dV_b1_b2*VtINV;
d_eVbc3VDC_dV_b_b1 = expl*d_Vbc3_dV_b_b1*VtINV;
d_eVbc3VDC_dV_b_c = expl*d_Vbc3_dV_b_c*VtINV;
eVbc3VDC = (expl*(1.0+(((Vbc3-VDC_T)*VtINV)-400.0)));
}
if ((((Vb1c4-VDC_T)*VtINV)<400.0))
{
{
double value_exp_0 = exp(((Vb1c4-VDC_T)*VtINV));
double  deriv_exp_0_d0 = value_exp_0;

d_eVb1c4VDC_dV_c4_c1 = (deriv_exp_0_d0*(d_Vb1c4_dV_c4_c1*VtINV));
d_eVb1c4VDC_dV_c1_c2 = (deriv_exp_0_d0*(d_Vb1c4_dV_c1_c2*VtINV));
d_eVb1c4VDC_dV_b2_c2 = (deriv_exp_0_d0*(d_Vb1c4_dV_b2_c2*VtINV));
d_eVb1c4VDC_dV_b1_b2 = (deriv_exp_0_d0*(d_Vb1c4_dV_b1_b2*VtINV));
eVb1c4VDC = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}

d_eVb1c4VDC_dV_c4_c1 = expl*d_Vb1c4_dV_c4_c1*VtINV;
d_eVb1c4VDC_dV_c1_c2 = expl*d_Vb1c4_dV_c1_c2*VtINV;
d_eVb1c4VDC_dV_b2_c2 = expl*d_Vb1c4_dV_b2_c2*VtINV;
d_eVb1c4VDC_dV_b1_b2 = expl*d_Vb1c4_dV_b1_b2*VtINV;
eVb1c4VDC = (expl*(1.0+(((Vb1c4-VDC_T)*VtINV)-400.0)));
}
if ((((Vb2c2-VDC_T)*VtINV)<400.0))
{
{
double value_exp_0 = exp(((Vb2c2-VDC_T)*VtINV));
double  deriv_exp_0_d0 = value_exp_0;

d_eVb2c2VDC_dV_b2_c2 = (deriv_exp_0_d0*(d_Vb2c2_dV_b2_c2*VtINV));
eVb2c2VDC = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}

d_eVb2c2VDC_dV_b2_c2 = expl*d_Vb2c2_dV_b2_c2*VtINV;
eVb2c2VDC = (expl*(1.0+(((Vb2c2-VDC_T)*VtINV)-400.0)));
}
if ((((Vb2c1-VDC_T)*VtINV)<400.0))
{
{
double value_exp_0 = exp(((Vb2c1-VDC_T)*VtINV));
double  deriv_exp_0_d0 = value_exp_0;

d_eVb2c1VDC_dV_b2_c1 = (deriv_exp_0_d0*(d_Vb2c1_dV_b2_c1*VtINV));
eVb2c1VDC = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}

d_eVb2c1VDC_dV_b2_c1 = expl*d_Vb2c1_dV_b2_c1*VtINV;
eVb2c1VDC = (expl*(1.0+(((Vb2c1-VDC_T)*VtINV)-400.0)));
}
{
double value_sqrt_0 = sqrt((1.0+(4.0*eVb2c2VDC)));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_K0_dV_b2_c2 = (deriv_sqrt_0_d0*(4.0*d_eVb2c2VDC_dV_b2_c2));
K0 = value_sqrt_0;
}
{
double value_sqrt_0 = sqrt((1.0+(4.0*eVb2c1VDC)));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_Kw_dV_b2_c1 = (deriv_sqrt_0_d0*(4.0*d_eVb2c1VDC_dV_b2_c1));
Kw = value_sqrt_0;
}

d_pW_dV_b2_c1 = (((1.0+Kw)*2.0*d_eVb2c1VDC_dV_b2_c1-(2.0*eVb2c1VDC)*d_Kw_dV_b2_c1)/(1.0+Kw)/(1.0+Kw));
pW = ((2.0*eVb2c1VDC)/(1.0+Kw));
{
double value_log_0 = log(((K0+1.0)/(Kw+1.0)));
double  deriv_log_0_d0 = (1.0/((K0+1.0)/(Kw+1.0)));

d_Ec_dV_b2_c1 = Vt*((-d_Kw_dV_b2_c1)-(deriv_log_0_d0*((-(K0+1.0)*d_Kw_dV_b2_c1/(Kw+1.0)/(Kw+1.0)))));
d_Ec_dV_b2_c2 = Vt*(d_K0_dV_b2_c2-(deriv_log_0_d0*((d_K0_dV_b2_c2/(Kw+1.0)))));
Ec = (Vt*((K0-Kw)-value_log_0));
}

d_Ic1c2_dV_c1_c2 = (d_Vc1c2_dV_c1_c2/RCV_TM);
d_Ic1c2_dV_b2_c1 = (d_Ec_dV_b2_c1/RCV_TM);
d_Ic1c2_dV_b2_c2 = (d_Ec_dV_b2_c2/RCV_TM);
Ic1c2 = ((Ec+Vc1c2)/RCV_TM);
if ((Ic1c2>0.0))
{
if ((Vb2c1<100.0))
{

d_tmpV_dV_b2_c1 = d_Vb2c1_dV_b2_c1;
tmpV = Vb2c1;
}
else
{
{
double value_log_0 = log((1.0+(Vb2c1-100.0)));
double  deriv_log_0_d0 = (1.0/(1.0+(Vb2c1-100.0)));

d_tmpV_dV_b2_c1 = (deriv_log_0_d0*(d_Vb2c1_dV_b2_c1));
tmpV = (100.0+value_log_0);
}
}

{
double value_log_0 = log(((((0.5*Ic1c2)*RCV_TM)*VtINV)+1.0));
double  deriv_log_0_d0 = (1.0/((((0.5*Ic1c2)*RCV_TM)*VtINV)+1.0));

d_Vqs_th_dV_c1_c2 = (2.0*Vt)*(deriv_log_0_d0*(0.5*d_Ic1c2_dV_c1_c2*RCV_TM*VtINV));
d_Vqs_th_dV_b2_c1 = ((2.0*Vt)*(deriv_log_0_d0*(0.5*d_Ic1c2_dV_b2_c1*RCV_TM*VtINV))-d_tmpV_dV_b2_c1);
d_Vqs_th_dV_b2_c2 = (2.0*Vt)*(deriv_log_0_d0*(0.5*d_Ic1c2_dV_b2_c2*RCV_TM*VtINV));
Vqs_th = ((VDC_T+((2.0*Vt)*value_log_0))-tmpV);
}
eps_VDC = (0.2*VDC_T);
eps2 = (eps_VDC*eps_VDC);

d_x2_dV_b_c = d_x2_dV_b_b1 = d_x2_dV_b1_b2 = d_x2_dV_c4_c1 = d_x2_dV_c3_c1 = d_x2_dV_c3_c4 = d_x2_dV_b2_e1 =  0.0;
d_x2_dV_c1_c2 = (Vqs_th*d_Vqs_th_dV_c1_c2+d_Vqs_th_dV_c1_c2*Vqs_th);
d_x2_dV_b2_c1 = (Vqs_th*d_Vqs_th_dV_b2_c1+d_Vqs_th_dV_b2_c1*Vqs_th);
d_x2_dV_b2_c2 = (Vqs_th*d_Vqs_th_dV_b2_c2+d_Vqs_th_dV_b2_c2*Vqs_th);
x2 = (Vqs_th*Vqs_th);
if ((Vqs_th<0.0))
{
{
double value_sqrt_0 = sqrt((x2+eps2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_Vqs_dV_c1_c2 = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_c1_c2))-d_Vqs_th_dV_c1_c2)/(value_sqrt_0-Vqs_th)/(value_sqrt_0-Vqs_th));
d_Vqs_dV_b2_c1 = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_b2_c1))-d_Vqs_th_dV_b2_c1)/(value_sqrt_0-Vqs_th)/(value_sqrt_0-Vqs_th));
d_Vqs_dV_b2_c2 = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_b2_c2))-d_Vqs_th_dV_b2_c2)/(value_sqrt_0-Vqs_th)/(value_sqrt_0-Vqs_th));
Vqs = ((0.5*eps2)/(value_sqrt_0-Vqs_th));
}
}
else
{
{
double value_sqrt_0 = sqrt((x2+eps2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_Vqs_dV_c1_c2 = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_c1_c2))+d_Vqs_th_dV_c1_c2);
d_Vqs_dV_b2_c1 = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_b2_c1))+d_Vqs_th_dV_b2_c1);
d_Vqs_dV_b2_c2 = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_b2_c2))+d_Vqs_th_dV_b2_c2);
Vqs = (0.5*(value_sqrt_0+Vqs_th));
}
}


d_Iqs_dV_c1_c2 = (((SCRCV_M*(Vqs+(IHC_M*RCV_TM)))*(Vqs*d_Vqs_dV_c1_c2+d_Vqs_dV_c1_c2*(Vqs+(IHC_M*SCRCV_M)))-(Vqs*(Vqs+(IHC_M*SCRCV_M)))*SCRCV_M*d_Vqs_dV_c1_c2)/(SCRCV_M*(Vqs+(IHC_M*RCV_TM)))/(SCRCV_M*(Vqs+(IHC_M*RCV_TM))));
d_Iqs_dV_b2_c1 = (((SCRCV_M*(Vqs+(IHC_M*RCV_TM)))*(Vqs*d_Vqs_dV_b2_c1+d_Vqs_dV_b2_c1*(Vqs+(IHC_M*SCRCV_M)))-(Vqs*(Vqs+(IHC_M*SCRCV_M)))*SCRCV_M*d_Vqs_dV_b2_c1)/(SCRCV_M*(Vqs+(IHC_M*RCV_TM)))/(SCRCV_M*(Vqs+(IHC_M*RCV_TM))));
d_Iqs_dV_b2_c2 = (((SCRCV_M*(Vqs+(IHC_M*RCV_TM)))*(Vqs*d_Vqs_dV_b2_c2+d_Vqs_dV_b2_c2*(Vqs+(IHC_M*SCRCV_M)))-(Vqs*(Vqs+(IHC_M*SCRCV_M)))*SCRCV_M*d_Vqs_dV_b2_c2)/(SCRCV_M*(Vqs+(IHC_M*RCV_TM)))/(SCRCV_M*(Vqs+(IHC_M*RCV_TM))));
Iqs = ((Vqs*(Vqs+(IHC_M*SCRCV_M)))/(SCRCV_M*(Vqs+(IHC_M*RCV_TM))));

d_Ic1c2_Iqs_dV_c1_c2 = ((Iqs*d_Ic1c2_dV_c1_c2-Ic1c2*d_Iqs_dV_c1_c2)/Iqs/Iqs);
d_Ic1c2_Iqs_dV_b2_c1 = ((Iqs*d_Ic1c2_dV_b2_c1-Ic1c2*d_Iqs_dV_b2_c1)/Iqs/Iqs);
d_Ic1c2_Iqs_dV_b2_c2 = ((Iqs*d_Ic1c2_dV_b2_c2-Ic1c2*d_Iqs_dV_b2_c2)/Iqs/Iqs);
Ic1c2_Iqs = (Ic1c2/Iqs);

d_dxa_dV_s_c1 = d_dxa_dV_b_c = d_dxa_dV_b_b1 = d_dxa_dV_c3_c1 = d_dxa_dV_c3_c4 = d_dxa_dV_b1_b2 = d_dxa_dV_c4_c1 = d_dxa_dV_b1_e1 = d_dxa_dV_b2_e1 =  0.0;
d_dxa_dV_c1_c2 = (d_Ic1c2_Iqs_dV_c1_c2/(model_.AXI));
d_dxa_dV_b2_c1 = (d_Ic1c2_Iqs_dV_b2_c1/(model_.AXI));
d_dxa_dV_b2_c2 = (d_Ic1c2_Iqs_dV_b2_c2/(model_.AXI));
dxa = ((Ic1c2_Iqs-1.0)/(model_.AXI));
if ((Ic1c2_Iqs<1.0))
{
{
double value_exp_0 = exp(dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));

d_alpha1_dV_c1_c2 = (model_.AXI)*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_c1_c2))));
d_alpha1_dV_b2_c1 = (model_.AXI)*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_c1))));
d_alpha1_dV_b2_c2 = (model_.AXI)*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_c2))));
alpha1 = (1.0+((model_.AXI)*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));

d_alpha1_dV_c1_c2 = (d_Ic1c2_Iqs_dV_c1_c2+(model_.AXI)*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_c1_c2))))));
d_alpha1_dV_b2_c1 = (d_Ic1c2_Iqs_dV_b2_c1+(model_.AXI)*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_c1))))));
d_alpha1_dV_b2_c2 = (d_Ic1c2_Iqs_dV_b2_c2+(model_.AXI)*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_c2))))));
alpha1 = (Ic1c2_Iqs+((model_.AXI)*value_log_1));
}
}

{
double value_exp_0 = exp(((-1.0)/(model_.AXI)));
double value_log_1 = log((1.0+value_exp_0));

d_alpha_dV_c1_c2 = (d_alpha1_dV_c1_c2/(1.0+((model_.AXI)*value_log_1)));
d_alpha_dV_b2_c1 = (d_alpha1_dV_b2_c1/(1.0+((model_.AXI)*value_log_1)));
d_alpha_dV_b2_c2 = (d_alpha1_dV_b2_c2/(1.0+((model_.AXI)*value_log_1)));
alpha = (alpha1/(1.0+((model_.AXI)*value_log_1)));
}

d_vyi_dV_c1_c2 = (d_Vqs_dV_c1_c2/(IHC_M*SCRCV_M));
d_vyi_dV_b2_c1 = (d_Vqs_dV_b2_c1/(IHC_M*SCRCV_M));
d_vyi_dV_b2_c2 = (d_Vqs_dV_b2_c2/(IHC_M*SCRCV_M));
vyi = (Vqs/(IHC_M*SCRCV_M));
{
double value_sqrt_0 = sqrt((1.0+(((4.0*alpha)*vyi)*(1.0+vyi))));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_yi_dV_c1_c2 = ((((2.0*alpha)*(1.0+vyi))*(deriv_sqrt_0_d0*((((4.0*alpha)*vyi)*d_vyi_dV_c1_c2+((4.0*alpha)*d_vyi_dV_c1_c2+4.0*d_alpha_dV_c1_c2*vyi)*(1.0+vyi))))-(1.0+value_sqrt_0)*((2.0*alpha)*d_vyi_dV_c1_c2+2.0*d_alpha_dV_c1_c2*(1.0+vyi)))/((2.0*alpha)*(1.0+vyi))/((2.0*alpha)*(1.0+vyi)));
d_yi_dV_b2_c1 = ((((2.0*alpha)*(1.0+vyi))*(deriv_sqrt_0_d0*((((4.0*alpha)*vyi)*d_vyi_dV_b2_c1+((4.0*alpha)*d_vyi_dV_b2_c1+4.0*d_alpha_dV_b2_c1*vyi)*(1.0+vyi))))-(1.0+value_sqrt_0)*((2.0*alpha)*d_vyi_dV_b2_c1+2.0*d_alpha_dV_b2_c1*(1.0+vyi)))/((2.0*alpha)*(1.0+vyi))/((2.0*alpha)*(1.0+vyi)));
d_yi_dV_b2_c2 = ((((2.0*alpha)*(1.0+vyi))*(deriv_sqrt_0_d0*((((4.0*alpha)*vyi)*d_vyi_dV_b2_c2+((4.0*alpha)*d_vyi_dV_b2_c2+4.0*d_alpha_dV_b2_c2*vyi)*(1.0+vyi))))-(1.0+value_sqrt_0)*((2.0*alpha)*d_vyi_dV_b2_c2+2.0*d_alpha_dV_b2_c2*(1.0+vyi)))/((2.0*alpha)*(1.0+vyi))/((2.0*alpha)*(1.0+vyi)));
yi = ((1.0+value_sqrt_0)/((2.0*alpha)*(1.0+vyi)));
}

d_xi_w_dV_c1_c2 = (((1.0+(pW*yi))*((-d_yi_dV_c1_c2)+pW*d_yi_dV_c1_c2)-((1.0-yi)+(pW*yi))*pW*d_yi_dV_c1_c2)/(1.0+(pW*yi))/(1.0+(pW*yi)));
d_xi_w_dV_b2_c1 = (((1.0+(pW*yi))*((-d_yi_dV_b2_c1)+(pW*d_yi_dV_b2_c1+d_pW_dV_b2_c1*yi))-((1.0-yi)+(pW*yi))*(pW*d_yi_dV_b2_c1+d_pW_dV_b2_c1*yi))/(1.0+(pW*yi))/(1.0+(pW*yi)));
d_xi_w_dV_b2_c2 = (((1.0+(pW*yi))*((-d_yi_dV_b2_c2)+pW*d_yi_dV_b2_c2)-((1.0-yi)+(pW*yi))*pW*d_yi_dV_b2_c2)/(1.0+(pW*yi))/(1.0+(pW*yi)));
xi_w = (((1.0-yi)+(pW*yi))/(1.0+(pW*yi)));

d_gp0_dV_c1_c2 = (((0.5*Ic1c2)*RCV_TM)*d_xi_w_dV_c1_c2+0.5*d_Ic1c2_dV_c1_c2*RCV_TM*xi_w)*VtINV;
d_gp0_dV_b2_c1 = (((0.5*Ic1c2)*RCV_TM)*d_xi_w_dV_b2_c1+0.5*d_Ic1c2_dV_b2_c1*RCV_TM*xi_w)*VtINV;
d_gp0_dV_b2_c2 = (((0.5*Ic1c2)*RCV_TM)*d_xi_w_dV_b2_c2+0.5*d_Ic1c2_dV_b2_c2*RCV_TM*xi_w)*VtINV;
gp0 = ((((0.5*Ic1c2)*RCV_TM)*xi_w)*VtINV);

d_gp0_help_dV_c1_c2 = (2.0*d_gp0_dV_c1_c2+pW*d_gp0_dV_c1_c2);
d_gp0_help_dV_b2_c1 = (2.0*d_gp0_dV_b2_c1+(pW*(d_pW_dV_b2_c1+d_gp0_dV_b2_c1)+d_pW_dV_b2_c1*((pW+gp0)+1.0)));
d_gp0_help_dV_b2_c2 = (2.0*d_gp0_dV_b2_c2+pW*d_gp0_dV_b2_c2);
gp0_help = ((2.0*gp0)+(pW*((pW+gp0)+1.0)));

d_gp02_dV_c1_c2 = 0.5*d_gp0_dV_c1_c2;
d_gp02_dV_b2_c1 = 0.5*d_gp0_dV_b2_c1;
d_gp02_dV_b2_c2 = 0.5*d_gp0_dV_b2_c2;
gp02 = (0.5*(gp0-1.0));

d_sqr_arg_dV_c1_c2 = ((gp02*d_gp02_dV_c1_c2+d_gp02_dV_c1_c2*gp02)+d_gp0_help_dV_c1_c2);
d_sqr_arg_dV_b2_c1 = ((gp02*d_gp02_dV_b2_c1+d_gp02_dV_b2_c1*gp02)+d_gp0_help_dV_b2_c1);
d_sqr_arg_dV_b2_c2 = ((gp02*d_gp02_dV_b2_c2+d_gp02_dV_b2_c2*gp02)+d_gp0_help_dV_b2_c2);
sqr_arg = ((gp02*gp02)+gp0_help);
if ((gp0>=1.0))
{
{
double value_sqrt_0 = sqrt(sqr_arg);
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_p0star_dV_c1_c2 = (d_gp02_dV_c1_c2+(deriv_sqrt_0_d0*(d_sqr_arg_dV_c1_c2)));
d_p0star_dV_b2_c1 = (d_gp02_dV_b2_c1+(deriv_sqrt_0_d0*(d_sqr_arg_dV_b2_c1)));
d_p0star_dV_b2_c2 = (d_gp02_dV_b2_c2+(deriv_sqrt_0_d0*(d_sqr_arg_dV_b2_c2)));
p0star = (gp02+value_sqrt_0);
}
}
else
{
{
double value_sqrt_0 = sqrt(sqr_arg);
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_p0star_dV_c1_c2 = (((value_sqrt_0-gp02)*d_gp0_help_dV_c1_c2-gp0_help*((deriv_sqrt_0_d0*(d_sqr_arg_dV_c1_c2))-d_gp02_dV_c1_c2))/(value_sqrt_0-gp02)/(value_sqrt_0-gp02));
d_p0star_dV_b2_c1 = (((value_sqrt_0-gp02)*d_gp0_help_dV_b2_c1-gp0_help*((deriv_sqrt_0_d0*(d_sqr_arg_dV_b2_c1))-d_gp02_dV_b2_c1))/(value_sqrt_0-gp02)/(value_sqrt_0-gp02));
d_p0star_dV_b2_c2 = (((value_sqrt_0-gp02)*d_gp0_help_dV_b2_c2-gp0_help*((deriv_sqrt_0_d0*(d_sqr_arg_dV_b2_c2))-d_gp02_dV_b2_c2))/(value_sqrt_0-gp02)/(value_sqrt_0-gp02));
p0star = (gp0_help/(value_sqrt_0-gp02));
}
}
{
double value_exp_0 = exp((VDC_T*VtINV));

d_eVb2c2star_dV_c1_c2 = (p0star*d_p0star_dV_c1_c2+d_p0star_dV_c1_c2*(p0star+1.0))*value_exp_0;
d_eVb2c2star_dV_b2_c1 = (p0star*d_p0star_dV_b2_c1+d_p0star_dV_b2_c1*(p0star+1.0))*value_exp_0;
d_eVb2c2star_dV_b2_c2 = (p0star*d_p0star_dV_b2_c2+d_p0star_dV_b2_c2*(p0star+1.0))*value_exp_0;
eVb2c2star = ((p0star*(p0star+1.0))*value_exp_0);
}

d_B1_dV_c1_c2 = (0.5*SCRCV_M)*d_Ic1c2_dV_c1_c2;
d_B1_dV_b2_c1 = (0.5*SCRCV_M)*d_Ic1c2_dV_b2_c1;
d_B1_dV_b2_c2 = (0.5*SCRCV_M)*d_Ic1c2_dV_b2_c2;
B1 = ((0.5*SCRCV_M)*(Ic1c2-IHC_M));

d_B2_dV_c1_c2 = ((SCRCV_M*RCV_TM)*IHC_M)*d_Ic1c2_dV_c1_c2;
d_B2_dV_b2_c1 = ((SCRCV_M*RCV_TM)*IHC_M)*d_Ic1c2_dV_b2_c1;
d_B2_dV_b2_c2 = ((SCRCV_M*RCV_TM)*IHC_M)*d_Ic1c2_dV_b2_c2;
B2 = (((SCRCV_M*RCV_TM)*IHC_M)*Ic1c2);
{
double value_sqrt_0 = sqrt(((B1*B1)+B2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_Vxi0_dV_c1_c2 = (d_B1_dV_c1_c2+(deriv_sqrt_0_d0*(((B1*d_B1_dV_c1_c2+d_B1_dV_c1_c2*B1)+d_B2_dV_c1_c2))));
d_Vxi0_dV_b2_c1 = (d_B1_dV_b2_c1+(deriv_sqrt_0_d0*(((B1*d_B1_dV_b2_c1+d_B1_dV_b2_c1*B1)+d_B2_dV_b2_c1))));
d_Vxi0_dV_b2_c2 = (d_B1_dV_b2_c2+(deriv_sqrt_0_d0*(((B1*d_B1_dV_b2_c2+d_B1_dV_b2_c2*B1)+d_B2_dV_b2_c2))));
Vxi0 = (B1+value_sqrt_0);
}

d_Vch_dV_c1_c2 = VDC_T*(((Ic1c2+Iqs)*2.0*d_Ic1c2_dV_c1_c2-(2.0*Ic1c2)*(d_Ic1c2_dV_c1_c2+d_Iqs_dV_c1_c2))/(Ic1c2+Iqs)/(Ic1c2+Iqs));
d_Vch_dV_b2_c1 = VDC_T*(((Ic1c2+Iqs)*2.0*d_Ic1c2_dV_b2_c1-(2.0*Ic1c2)*(d_Ic1c2_dV_b2_c1+d_Iqs_dV_b2_c1))/(Ic1c2+Iqs)/(Ic1c2+Iqs));
d_Vch_dV_b2_c2 = VDC_T*(((Ic1c2+Iqs)*2.0*d_Ic1c2_dV_b2_c2-(2.0*Ic1c2)*(d_Ic1c2_dV_b2_c2+d_Iqs_dV_b2_c2))/(Ic1c2+Iqs)/(Ic1c2+Iqs));
Vch = (VDC_T*(0.1+((2.0*Ic1c2)/(Ic1c2+Iqs))));

d_Icap_dV_c1_c2 = (((IHC_M+Ic1c2)*IHC_M*d_Ic1c2_dV_c1_c2-(IHC_M*Ic1c2)*d_Ic1c2_dV_c1_c2)/(IHC_M+Ic1c2)/(IHC_M+Ic1c2));
d_Icap_dV_b2_c1 = (((IHC_M+Ic1c2)*IHC_M*d_Ic1c2_dV_b2_c1-(IHC_M*Ic1c2)*d_Ic1c2_dV_b2_c1)/(IHC_M+Ic1c2)/(IHC_M+Ic1c2));
d_Icap_dV_b2_c2 = (((IHC_M+Ic1c2)*IHC_M*d_Ic1c2_dV_b2_c2-(IHC_M*Ic1c2)*d_Ic1c2_dV_b2_c2)/(IHC_M+Ic1c2)/(IHC_M+Ic1c2));
Icap = ((IHC_M*Ic1c2)/(IHC_M+Ic1c2));

d_Icap_IHC_dV_c1_c2 = (-IHC_M*d_Ic1c2_dV_c1_c2/(IHC_M+Ic1c2)/(IHC_M+Ic1c2));
d_Icap_IHC_dV_b2_c1 = (-IHC_M*d_Ic1c2_dV_b2_c1/(IHC_M+Ic1c2)/(IHC_M+Ic1c2));
d_Icap_IHC_dV_b2_c2 = (-IHC_M*d_Ic1c2_dV_b2_c2/(IHC_M+Ic1c2)/(IHC_M+Ic1c2));
Icap_IHC = (IHC_M/(IHC_M+Ic1c2));
}
else
{

d_Iqs_dV_b2_c2 = d_Iqs_dV_b2_c1 = d_Iqs_dV_c1_c2 =  0.0;
Iqs = 0.0;

d_p0star_dV_b2_c1 = d_p0star_dV_c1_c2 =  0.0;
d_p0star_dV_b2_c2 = (((1.0+K0)*2.0*d_eVb2c2VDC_dV_b2_c2-(2.0*eVb2c2VDC)*d_K0_dV_b2_c2)/(1.0+K0)/(1.0+K0));
p0star = ((2.0*eVb2c2VDC)/(1.0+K0));

d_eVb2c2star_dV_b2_c1 = d_eVb2c2star_dV_c1_c2 =  0.0;
d_eVb2c2star_dV_b2_c2 = d_eVb2c2_dV_b2_c2;
eVb2c2star = eVb2c2;
if (((fabs(Vc1c2)<(1.0e-5*Vt))||(fabs(Ec)<((1.0e-40*Vt)*(K0+Kw)))))
{

d_pav_dV_c1_c2 = 0.5*d_p0star_dV_c1_c2;
d_pav_dV_b2_c1 = 0.5*(d_p0star_dV_b2_c1+d_pW_dV_b2_c1);
d_pav_dV_b2_c2 = 0.5*d_p0star_dV_b2_c2;
pav = (0.5*(p0star+pW));

d_xi_w_dV_c1_c2 = (((pav+1.0)*d_pav_dV_c1_c2-pav*d_pav_dV_c1_c2)/(pav+1.0)/(pav+1.0));
d_xi_w_dV_b2_c1 = (((pav+1.0)*d_pav_dV_b2_c1-pav*d_pav_dV_b2_c1)/(pav+1.0)/(pav+1.0));
d_xi_w_dV_b2_c2 = (((pav+1.0)*d_pav_dV_b2_c2-pav*d_pav_dV_b2_c2)/(pav+1.0)/(pav+1.0));
xi_w = (pav/(pav+1.0));
}
else
{

d_xi_w_dV_c1_c2 =  0.0;
d_xi_w_dV_b2_c1 = ((((Ec+Vb2c2)-Vb2c1)*d_Ec_dV_b2_c1-Ec*(d_Ec_dV_b2_c1-d_Vb2c1_dV_b2_c1))/((Ec+Vb2c2)-Vb2c1)/((Ec+Vb2c2)-Vb2c1));
d_xi_w_dV_b2_c2 = ((((Ec+Vb2c2)-Vb2c1)*d_Ec_dV_b2_c2-Ec*(d_Ec_dV_b2_c2+d_Vb2c2_dV_b2_c2))/((Ec+Vb2c2)-Vb2c1)/((Ec+Vb2c2)-Vb2c1));
xi_w = (Ec/((Ec+Vb2c2)-Vb2c1));
}

d_Vxi0_dV_b2_c2 = d_Vxi0_dV_b2_c1 =  0.0;
d_Vxi0_dV_c1_c2 = d_Vc1c2_dV_c1_c2;
Vxi0 = Vc1c2;

d_Vch_dV_b2_c2 = d_Vch_dV_b2_c1 = d_Vch_dV_c1_c2 =  0.0;
Vch = (0.1*VDC_T);

d_Icap_dV_c1_c2 = d_Ic1c2_dV_c1_c2;
d_Icap_dV_b2_c1 = d_Ic1c2_dV_b2_c1;
d_Icap_dV_b2_c2 = d_Ic1c2_dV_b2_c2;
Icap = Ic1c2;

d_Icap_IHC_dV_c1_c2 = (-(d_Icap_dV_c1_c2/IHC_M));
d_Icap_IHC_dV_b2_c1 = (-(d_Icap_dV_b2_c1/IHC_M));
d_Icap_IHC_dV_b2_c2 = (-(d_Icap_dV_b2_c2/IHC_M));
Icap_IHC = (1.0-(Icap/IHC_M));
}
{
double value_pow_0 = pow(3.0,((-1.0)/(model_.PE)));
Vfe = (VDE_T*(1.0-value_pow_0));
}
a_VDE = (0.1*VDE_T);

d_dxa_dV_s_c1 = d_dxa_dV_b_c = d_dxa_dV_b_b1 = d_dxa_dV_c3_c1 = d_dxa_dV_c3_c4 = d_dxa_dV_b1_b2 = d_dxa_dV_c4_c1 = d_dxa_dV_b1_e1 = d_dxa_dV_b2_c2 = d_dxa_dV_b2_c1 = d_dxa_dV_c1_c2 =  0.0;
d_dxa_dV_b2_e1 = (d_Vb2e1_dV_b2_e1/a_VDE);
dxa = ((Vb2e1-Vfe)/a_VDE);
if ((Vb2e1<Vfe))
{
{
double value_exp_0 = exp(dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));

d_Vje_dV_c1_c2 = (-a_VDE*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_c1_c2)))));
d_Vje_dV_b2_c1 = (-a_VDE*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_c1)))));
d_Vje_dV_b2_c2 = (-a_VDE*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_c2)))));
d_Vje_dV_b2_e1 = (d_Vb2e1_dV_b2_e1-a_VDE*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_e1)))));
Vje = (Vb2e1-(a_VDE*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));

d_Vje_dV_c1_c2 = (-a_VDE*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_c1_c2))))));
d_Vje_dV_b2_c1 = (-a_VDE*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_c1))))));
d_Vje_dV_b2_c2 = (-a_VDE*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_c2))))));
d_Vje_dV_b2_e1 = (-a_VDE*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_e1))))));
Vje = (Vfe-(a_VDE*value_log_1));
}
}

{
double value_pow_0 = pow((1.0-(Vje*inv_VDE_T)),(1.0-(model_.PE)));
double  deriv_pow_0_d0 = (((1.0-(Vje*inv_VDE_T)) == 0.0)?0.0:(value_pow_0*(1.0-(model_.PE))/(1.0-(Vje*inv_VDE_T))));

d_E0BE_dV_c1_c2 = (deriv_pow_0_d0*((-d_Vje_dV_c1_c2*inv_VDE_T)));
d_E0BE_dV_b2_c1 = (deriv_pow_0_d0*((-d_Vje_dV_b2_c1*inv_VDE_T)));
d_E0BE_dV_b2_c2 = (deriv_pow_0_d0*((-d_Vje_dV_b2_c2*inv_VDE_T)));
d_E0BE_dV_b2_e1 = (deriv_pow_0_d0*((-d_Vje_dV_b2_e1*inv_VDE_T)));
E0BE = value_pow_0;
}

d_Vte_dV_c1_c2 = ((VDE_T/(1.0-(model_.PE)))*(-d_E0BE_dV_c1_c2)+3.0*(-d_Vje_dV_c1_c2));
d_Vte_dV_b2_c1 = ((VDE_T/(1.0-(model_.PE)))*(-d_E0BE_dV_b2_c1)+3.0*(-d_Vje_dV_b2_c1));
d_Vte_dV_b2_c2 = ((VDE_T/(1.0-(model_.PE)))*(-d_E0BE_dV_b2_c2)+3.0*(-d_Vje_dV_b2_c2));
d_Vte_dV_b2_e1 = ((VDE_T/(1.0-(model_.PE)))*(-d_E0BE_dV_b2_e1)+3.0*(d_Vb2e1_dV_b2_e1-d_Vje_dV_b2_e1));
Vte = (((VDE_T/(1.0-(model_.PE)))*(1.0-E0BE))+(3.0*(Vb2e1-Vje)));

d_Vjunc_dV_c1_c2 = d_Vxi0_dV_c1_c2;
d_Vjunc_dV_b2_c2 = d_Vxi0_dV_b2_c2;
d_Vjunc_dV_b2_c1 = (d_Vb2c1_dV_b2_c1+d_Vxi0_dV_b2_c1);
Vjunc = (Vb2c1+Vxi0);
bjc = ((2.0-XP_T)/(1.0-XP_T));
{
double value_pow_0 = pow(bjc,((-1.0)/(model_.PC)));
Vfc = (VDC_T*(1.0-value_pow_0));
}

d_dxa_dV_s_c1 = d_dxa_dV_b_c = d_dxa_dV_b_b1 = d_dxa_dV_c3_c1 = d_dxa_dV_c3_c4 = d_dxa_dV_b1_b2 = d_dxa_dV_c4_c1 = d_dxa_dV_b1_e1 = d_dxa_dV_b2_e1 =  0.0;
d_dxa_dV_c1_c2 = ((Vch*d_Vjunc_dV_c1_c2-(Vjunc-Vfc)*d_Vch_dV_c1_c2)/Vch/Vch);
d_dxa_dV_b2_c2 = ((Vch*d_Vjunc_dV_b2_c2-(Vjunc-Vfc)*d_Vch_dV_b2_c2)/Vch/Vch);
d_dxa_dV_b2_c1 = ((Vch*d_Vjunc_dV_b2_c1-(Vjunc-Vfc)*d_Vch_dV_b2_c1)/Vch/Vch);
dxa = ((Vjunc-Vfc)/Vch);
if ((Vjunc<Vfc))
{
{
double value_exp_0 = exp(dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));

d_Vjc_dV_b2_e1 = (-Vch*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_e1)))));
d_Vjc_dV_c1_c2 = (d_Vjunc_dV_c1_c2-(Vch*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_c1_c2))))+d_Vch_dV_c1_c2*value_log_1));
d_Vjc_dV_b2_c2 = (d_Vjunc_dV_b2_c2-(Vch*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_c2))))+d_Vch_dV_b2_c2*value_log_1));
d_Vjc_dV_b2_c1 = (d_Vjunc_dV_b2_c1-(Vch*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_c1))))+d_Vch_dV_b2_c1*value_log_1));
Vjc = (Vjunc-(Vch*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));

d_Vjc_dV_b2_e1 = (-Vch*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_e1))))));
d_Vjc_dV_c1_c2 = (-(Vch*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_c1_c2)))))+d_Vch_dV_c1_c2*value_log_1));
d_Vjc_dV_b2_c1 = (-(Vch*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_c1)))))+d_Vch_dV_b2_c1*value_log_1));
d_Vjc_dV_b2_c2 = (-(Vch*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_c2)))))+d_Vch_dV_b2_c2*value_log_1));
Vjc = (Vfc-(Vch*value_log_1));
}
}

{
double value_pow_0 = pow(Icap_IHC,(model_.MC));
double  deriv_pow_0_d0 = ((Icap_IHC == 0.0)?0.0:(value_pow_0*(model_.MC)/Icap_IHC));

d_fI_dV_c1_c2 = (deriv_pow_0_d0*(d_Icap_IHC_dV_c1_c2));
d_fI_dV_b2_c1 = (deriv_pow_0_d0*(d_Icap_IHC_dV_b2_c1));
d_fI_dV_b2_c2 = (deriv_pow_0_d0*(d_Icap_IHC_dV_b2_c2));
fI = value_pow_0;
}
{
double value_pow_0 = pow((1.0-(Vjc/VDC_T)),(1.0-(model_.PC)));
double  deriv_pow_0_d0 = (((1.0-(Vjc/VDC_T)) == 0.0)?0.0:(value_pow_0*(1.0-(model_.PC))/(1.0-(Vjc/VDC_T))));

d_Vcv_dV_b2_e1 = ((VDC_T/(1.0-(model_.PC)))*(-fI*(deriv_pow_0_d0*((-(d_Vjc_dV_b2_e1/VDC_T)))))+(fI*bjc)*(-d_Vjc_dV_b2_e1));
d_Vcv_dV_c1_c2 = ((VDC_T/(1.0-(model_.PC)))*(-(fI*(deriv_pow_0_d0*((-(d_Vjc_dV_c1_c2/VDC_T))))+d_fI_dV_c1_c2*value_pow_0))+((fI*bjc)*(d_Vjunc_dV_c1_c2-d_Vjc_dV_c1_c2)+d_fI_dV_c1_c2*bjc*(Vjunc-Vjc)));
d_Vcv_dV_b2_c1 = ((VDC_T/(1.0-(model_.PC)))*(-(fI*(deriv_pow_0_d0*((-(d_Vjc_dV_b2_c1/VDC_T))))+d_fI_dV_b2_c1*value_pow_0))+((fI*bjc)*(d_Vjunc_dV_b2_c1-d_Vjc_dV_b2_c1)+d_fI_dV_b2_c1*bjc*(Vjunc-Vjc)));
d_Vcv_dV_b2_c2 = ((VDC_T/(1.0-(model_.PC)))*(-(fI*(deriv_pow_0_d0*((-(d_Vjc_dV_b2_c2/VDC_T))))+d_fI_dV_b2_c2*value_pow_0))+((fI*bjc)*(d_Vjunc_dV_b2_c2-d_Vjc_dV_b2_c2)+d_fI_dV_b2_c2*bjc*(Vjunc-Vjc)));
Vcv = (((VDC_T/(1.0-(model_.PC)))*(1.0-(fI*value_pow_0)))+((fI*bjc)*(Vjunc-Vjc)));
}

d_Vtc_dV_b2_e1 = (1.0-XP_T)*d_Vcv_dV_b2_e1;
d_Vtc_dV_c1_c2 = (1.0-XP_T)*d_Vcv_dV_c1_c2;
d_Vtc_dV_b2_c1 = ((1.0-XP_T)*d_Vcv_dV_b2_c1+XP_T*d_Vb2c1_dV_b2_c1);
d_Vtc_dV_b2_c2 = (1.0-XP_T)*d_Vcv_dV_b2_c2;
Vtc = (((1.0-XP_T)*Vcv)+(XP_T*Vb2c1));
If0 = ((4.0*IS_TM)/IK_TM);

d_f1_dV_b2_e1 = If0*d_eVb2e1_dV_b2_e1;
f1 = (If0*eVb2e1);
{
double value_sqrt_0 = sqrt((1.0+f1));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_n0_dV_b2_e1 = (((1.0+value_sqrt_0)*d_f1_dV_b2_e1-f1*(deriv_sqrt_0_d0*(d_f1_dV_b2_e1)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
n0 = (f1/(1.0+value_sqrt_0));
}

d_f2_dV_c1_c2 = If0*d_eVb2c2star_dV_c1_c2;
d_f2_dV_b2_c1 = If0*d_eVb2c2star_dV_b2_c1;
d_f2_dV_b2_c2 = If0*d_eVb2c2star_dV_b2_c2;
f2 = (If0*eVb2c2star);
{
double value_sqrt_0 = sqrt((1.0+f2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_nB_dV_c1_c2 = (((1.0+value_sqrt_0)*d_f2_dV_c1_c2-f2*(deriv_sqrt_0_d0*(d_f2_dV_c1_c2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_nB_dV_b2_c1 = (((1.0+value_sqrt_0)*d_f2_dV_b2_c1-f2*(deriv_sqrt_0_d0*(d_f2_dV_b2_c1)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_nB_dV_b2_c2 = (((1.0+value_sqrt_0)*d_f2_dV_b2_c2-f2*(deriv_sqrt_0_d0*(d_f2_dV_b2_c2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
nB = (f2/(1.0+value_sqrt_0));
}
if (((model_.DEG)==0.0))
{

d_q0I_dV_c1_c2 = ((d_Vte_dV_c1_c2/VER_T)+(d_Vtc_dV_c1_c2/VEF_T));
d_q0I_dV_b2_c1 = ((d_Vte_dV_b2_c1/VER_T)+(d_Vtc_dV_b2_c1/VEF_T));
d_q0I_dV_b2_c2 = ((d_Vte_dV_b2_c2/VER_T)+(d_Vtc_dV_b2_c2/VEF_T));
d_q0I_dV_b2_e1 = ((d_Vte_dV_b2_e1/VER_T)+(d_Vtc_dV_b2_e1/VEF_T));
q0I = ((1.0+(Vte/VER_T))+(Vtc/VEF_T));
}
else
{

d_termE_dV_c1_c2 = (d_Vte_dV_c1_c2/VER_T)*DEG_T*VtINV;
d_termE_dV_b2_c1 = (d_Vte_dV_b2_c1/VER_T)*DEG_T*VtINV;
d_termE_dV_b2_c2 = (d_Vte_dV_b2_c2/VER_T)*DEG_T*VtINV;
d_termE_dV_b2_e1 = (d_Vte_dV_b2_e1/VER_T)*DEG_T*VtINV;
termE = ((((Vte/VER_T)+1.0)*DEG_T)*VtINV);

d_termC_dV_b2_e1 = ((-d_Vtc_dV_b2_e1)/VEF_T)*DEG_T*VtINV;
d_termC_dV_c1_c2 = ((-d_Vtc_dV_c1_c2)/VEF_T)*DEG_T*VtINV;
d_termC_dV_b2_c1 = ((-d_Vtc_dV_b2_c1)/VEF_T)*DEG_T*VtINV;
d_termC_dV_b2_c2 = ((-d_Vtc_dV_b2_c2)/VEF_T)*DEG_T*VtINV;
termC = ((((-Vtc)/VEF_T)*DEG_T)*VtINV);
{
double value_exp_0 = exp(termE);
double value_exp_1 = exp(termC);
double value_exp_2 = exp((DEG_T*VtINV));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_exp_1_d0 = value_exp_1;

d_q0I_dV_c1_c2 = (((deriv_exp_0_d0*(d_termE_dV_c1_c2))-(deriv_exp_1_d0*(d_termC_dV_c1_c2)))/(value_exp_2-1.0));
d_q0I_dV_b2_c1 = (((deriv_exp_0_d0*(d_termE_dV_b2_c1))-(deriv_exp_1_d0*(d_termC_dV_b2_c1)))/(value_exp_2-1.0));
d_q0I_dV_b2_c2 = (((deriv_exp_0_d0*(d_termE_dV_b2_c2))-(deriv_exp_1_d0*(d_termC_dV_b2_c2)))/(value_exp_2-1.0));
d_q0I_dV_b2_e1 = (((deriv_exp_0_d0*(d_termE_dV_b2_e1))-(deriv_exp_1_d0*(d_termC_dV_b2_e1)))/(value_exp_2-1.0));
q0I = ((value_exp_0-value_exp_1)/(value_exp_2-1.0));
}
}
eps2 = (0.1*0.1);

d_x2_dV_b_c = d_x2_dV_b_b1 = d_x2_dV_b1_b2 = d_x2_dV_c4_c1 = d_x2_dV_c3_c1 = d_x2_dV_c3_c4 =  0.0;
d_x2_dV_c1_c2 = (q0I*d_q0I_dV_c1_c2+d_q0I_dV_c1_c2*q0I);
d_x2_dV_b2_c1 = (q0I*d_q0I_dV_b2_c1+d_q0I_dV_b2_c1*q0I);
d_x2_dV_b2_c2 = (q0I*d_q0I_dV_b2_c2+d_q0I_dV_b2_c2*q0I);
d_x2_dV_b2_e1 = (q0I*d_q0I_dV_b2_e1+d_q0I_dV_b2_e1*q0I);
x2 = (q0I*q0I);
if ((q0I<0.0))
{
{
double value_sqrt_0 = sqrt((x2+eps2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_q1I_dV_c1_c2 = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_c1_c2))-d_q0I_dV_c1_c2)/(value_sqrt_0-q0I)/(value_sqrt_0-q0I));
d_q1I_dV_b2_c1 = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_b2_c1))-d_q0I_dV_b2_c1)/(value_sqrt_0-q0I)/(value_sqrt_0-q0I));
d_q1I_dV_b2_c2 = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_b2_c2))-d_q0I_dV_b2_c2)/(value_sqrt_0-q0I)/(value_sqrt_0-q0I));
d_q1I_dV_b2_e1 = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_b2_e1))-d_q0I_dV_b2_e1)/(value_sqrt_0-q0I)/(value_sqrt_0-q0I));
q1I = ((0.5*eps2)/(value_sqrt_0-q0I));
}
}
else
{
{
double value_sqrt_0 = sqrt((x2+eps2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_q1I_dV_c1_c2 = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_c1_c2))+d_q0I_dV_c1_c2);
d_q1I_dV_b2_c1 = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_b2_c1))+d_q0I_dV_b2_c1);
d_q1I_dV_b2_c2 = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_b2_c2))+d_q0I_dV_b2_c2);
d_q1I_dV_b2_e1 = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_b2_e1))+d_q0I_dV_b2_e1);
q1I = (0.5*(value_sqrt_0+q0I));
}
}


d_qBI_dV_c1_c2 = (q1I*0.5*d_nB_dV_c1_c2+d_q1I_dV_c1_c2*(1.0+(0.5*(n0+nB))));
d_qBI_dV_b2_c1 = (q1I*0.5*d_nB_dV_b2_c1+d_q1I_dV_b2_c1*(1.0+(0.5*(n0+nB))));
d_qBI_dV_b2_c2 = (q1I*0.5*d_nB_dV_b2_c2+d_q1I_dV_b2_c2*(1.0+(0.5*(n0+nB))));
d_qBI_dV_b2_e1 = (q1I*0.5*d_n0_dV_b2_e1+d_q1I_dV_b2_e1*(1.0+(0.5*(n0+nB))));
qBI = (q1I*(1.0+(0.5*(n0+nB))));

d_Ir_dV_c1_c2 = IS_TM*d_eVb2c2star_dV_c1_c2;
d_Ir_dV_b2_c1 = IS_TM*d_eVb2c2star_dV_b2_c1;
d_Ir_dV_b2_c2 = IS_TM*d_eVb2c2star_dV_b2_c2;
Ir = (IS_TM*eVb2c2star);

d_If_dV_b2_e1 = IS_TM*d_eVb2e1_dV_b2_e1;
If = (IS_TM*eVb2e1);

d_In_dV_c1_c2 = ((qBI*(-d_Ir_dV_c1_c2)-(If-Ir)*d_qBI_dV_c1_c2)/qBI/qBI);
d_In_dV_b2_c1 = ((qBI*(-d_Ir_dV_b2_c1)-(If-Ir)*d_qBI_dV_b2_c1)/qBI/qBI);
d_In_dV_b2_c2 = ((qBI*(-d_Ir_dV_b2_c2)-(If-Ir)*d_qBI_dV_b2_c2)/qBI/qBI);
d_In_dV_b2_e1 = ((qBI*d_If_dV_b2_e1-(If-Ir)*d_qBI_dV_b2_e1)/qBI/qBI);
In = ((If-Ir)/qBI);
Ibf0 = (IS_TM/BF_T);
if (((model_.XREC)==0.0))
{

d_Ib1_dV_b2_c2 = d_Ib1_dV_b2_c1 = d_Ib1_dV_c1_c2 =  0.0;
d_Ib1_dV_b2_e1 = ((1.0-(model_.XIBI))*Ibf0)*d_eVb2e1_dV_b2_e1;
Ib1 = (((1.0-(model_.XIBI))*Ibf0)*(eVb2e1-1.0));
}
else
{

d_Ib1_dV_c1_c2 = ((1.0-(model_.XIBI))*Ibf0)*(((model_.XREC)*((eVb2e1+eVb2c2star)-2.0))*(d_Vtc_dV_c1_c2/VEF_T)+(model_.XREC)*d_eVb2c2star_dV_c1_c2*(1.0+(Vtc/VEF_T)));
d_Ib1_dV_b2_c1 = ((1.0-(model_.XIBI))*Ibf0)*(((model_.XREC)*((eVb2e1+eVb2c2star)-2.0))*(d_Vtc_dV_b2_c1/VEF_T)+(model_.XREC)*d_eVb2c2star_dV_b2_c1*(1.0+(Vtc/VEF_T)));
d_Ib1_dV_b2_c2 = ((1.0-(model_.XIBI))*Ibf0)*(((model_.XREC)*((eVb2e1+eVb2c2star)-2.0))*(d_Vtc_dV_b2_c2/VEF_T)+(model_.XREC)*d_eVb2c2star_dV_b2_c2*(1.0+(Vtc/VEF_T)));
d_Ib1_dV_b2_e1 = ((1.0-(model_.XIBI))*Ibf0)*((1.0-(model_.XREC))*d_eVb2e1_dV_b2_e1+(((model_.XREC)*((eVb2e1+eVb2c2star)-2.0))*(d_Vtc_dV_b2_e1/VEF_T)+(model_.XREC)*d_eVb2e1_dV_b2_e1*(1.0+(Vtc/VEF_T))));
Ib1 = (((1.0-(model_.XIBI))*Ibf0)*(((1.0-(model_.XREC))*(eVb2e1-1.0))+(((model_.XREC)*((eVb2e1+eVb2c2star)-2.0))*(1.0+(Vtc/VEF_T)))));
}

d_Ib1_s_dV_b1_e1 = ((model_.XIBI)*Ibf0)*d_eVb1e1_dV_b1_e1;
Ib1_s = (((model_.XIBI)*Ibf0)*(eVb1e1-1.0));
if ((((Vb2e1*VtINV)/(model_.MLF))<400.0))
{
{
double value_exp_0 = exp(((Vb2e1*VtINV)/(model_.MLF)));
double  deriv_exp_0_d0 = value_exp_0;

d_tmpExp_dV_b1_b2 = d_tmpExp_dV_b2_c2 = d_tmpExp_dV_c1_c2 = d_tmpExp_dV_c4_c1 =  0.0;
d_tmpExp_dV_b2_e1 = (deriv_exp_0_d0*((d_Vb2e1_dV_b2_e1*VtINV/(model_.MLF))));
tmpExp = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}

d_tmpExp_dV_b1_b2 = d_tmpExp_dV_b2_c2 = d_tmpExp_dV_c1_c2 = d_tmpExp_dV_c4_c1 =  0.0;
d_tmpExp_dV_b2_e1 = expl*(d_Vb2e1_dV_b2_e1*VtINV/(model_.MLF));
tmpExp = (expl*(1.0+(((Vb2e1*VtINV)/(model_.MLF))-400.0)));
}

d_Ib2_dV_b2_e1 = (IBF_TM*d_tmpExp_dV_b2_e1+(model_.GMIN)*d_Vb2e1_dV_b2_e1);
Ib2 = ((IBF_TM*(tmpExp-1.0))+((model_.GMIN)*Vb2e1));
if ((((0.5*Vb1c4)*VtINV)<400.0))
{
{
double value_exp_0 = exp(((0.5*Vb1c4)*VtINV));
double  deriv_exp_0_d0 = value_exp_0;

d_tmpExp_dV_b2_e1 =  0.0;
d_tmpExp_dV_c4_c1 = (deriv_exp_0_d0*(0.5*d_Vb1c4_dV_c4_c1*VtINV));
d_tmpExp_dV_c1_c2 = (deriv_exp_0_d0*(0.5*d_Vb1c4_dV_c1_c2*VtINV));
d_tmpExp_dV_b2_c2 = (deriv_exp_0_d0*(0.5*d_Vb1c4_dV_b2_c2*VtINV));
d_tmpExp_dV_b1_b2 = (deriv_exp_0_d0*(0.5*d_Vb1c4_dV_b1_b2*VtINV));
tmpExp = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}

d_tmpExp_dV_b2_e1 =  0.0;
d_tmpExp_dV_c4_c1 = expl*0.5*d_Vb1c4_dV_c4_c1*VtINV;
d_tmpExp_dV_c1_c2 = expl*0.5*d_Vb1c4_dV_c1_c2*VtINV;
d_tmpExp_dV_b2_c2 = expl*0.5*d_Vb1c4_dV_b2_c2*VtINV;
d_tmpExp_dV_b1_b2 = expl*0.5*d_Vb1c4_dV_b1_b2*VtINV;
tmpExp = (expl*(1.0+(((0.5*Vb1c4)*VtINV)-400.0)));
}
{
double value_exp_0 = exp(((0.5*(model_.VLR))*VtINV));

d_Ib3_dV_b2_e1 = (-(IBR_TM*(eVb1c4-1.0))*d_tmpExp_dV_b2_e1/(tmpExp+value_exp_0)/(tmpExp+value_exp_0));
d_Ib3_dV_c4_c1 = ((((tmpExp+value_exp_0)*IBR_TM*d_eVb1c4_dV_c4_c1-(IBR_TM*(eVb1c4-1.0))*d_tmpExp_dV_c4_c1)/(tmpExp+value_exp_0)/(tmpExp+value_exp_0))+(model_.GMIN)*d_Vb1c4_dV_c4_c1);
d_Ib3_dV_c1_c2 = ((((tmpExp+value_exp_0)*IBR_TM*d_eVb1c4_dV_c1_c2-(IBR_TM*(eVb1c4-1.0))*d_tmpExp_dV_c1_c2)/(tmpExp+value_exp_0)/(tmpExp+value_exp_0))+(model_.GMIN)*d_Vb1c4_dV_c1_c2);
d_Ib3_dV_b2_c2 = ((((tmpExp+value_exp_0)*IBR_TM*d_eVb1c4_dV_b2_c2-(IBR_TM*(eVb1c4-1.0))*d_tmpExp_dV_b2_c2)/(tmpExp+value_exp_0)/(tmpExp+value_exp_0))+(model_.GMIN)*d_Vb1c4_dV_b2_c2);
d_Ib3_dV_b1_b2 = ((((tmpExp+value_exp_0)*IBR_TM*d_eVb1c4_dV_b1_b2-(IBR_TM*(eVb1c4-1.0))*d_tmpExp_dV_b1_b2)/(tmpExp+value_exp_0)/(tmpExp+value_exp_0))+(model_.GMIN)*d_Vb1c4_dV_b1_b2);
Ib3 = (((IBR_TM*(eVb1c4-1.0))/(tmpExp+value_exp_0))+((model_.GMIN)*Vb1c4));
}
if (((((model_.IZEB)>0.0)&&((model_.NZEB)>0.0))&&(Vb2e1<0)))
{
if (((nZEB_T*(1-(pow2_2mPE/(2.0*E0BE))))<400.0))
{
{
double value_exp_0 = exp((nZEB_T*(1-(pow2_2mPE/(2.0*E0BE)))));
double  deriv_exp_0_d0 = value_exp_0;

d_eZEB_dV_c1_c2 = (deriv_exp_0_d0*(nZEB_T*(-(-pow2_2mPE*2.0*d_E0BE_dV_c1_c2/(2.0*E0BE)/(2.0*E0BE)))));
d_eZEB_dV_b2_c1 = (deriv_exp_0_d0*(nZEB_T*(-(-pow2_2mPE*2.0*d_E0BE_dV_b2_c1/(2.0*E0BE)/(2.0*E0BE)))));
d_eZEB_dV_b2_c2 = (deriv_exp_0_d0*(nZEB_T*(-(-pow2_2mPE*2.0*d_E0BE_dV_b2_c2/(2.0*E0BE)/(2.0*E0BE)))));
d_eZEB_dV_b2_e1 = (deriv_exp_0_d0*(nZEB_T*(-(-pow2_2mPE*2.0*d_E0BE_dV_b2_e1/(2.0*E0BE)/(2.0*E0BE)))));
eZEB = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}

d_eZEB_dV_c1_c2 = expl*nZEB_T*(-(-pow2_2mPE*2.0*d_E0BE_dV_c1_c2/(2.0*E0BE)/(2.0*E0BE)));
d_eZEB_dV_b2_c1 = expl*nZEB_T*(-(-pow2_2mPE*2.0*d_E0BE_dV_b2_c1/(2.0*E0BE)/(2.0*E0BE)));
d_eZEB_dV_b2_c2 = expl*nZEB_T*(-(-pow2_2mPE*2.0*d_E0BE_dV_b2_c2/(2.0*E0BE)/(2.0*E0BE)));
d_eZEB_dV_b2_e1 = expl*nZEB_T*(-(-pow2_2mPE*2.0*d_E0BE_dV_b2_e1/(2.0*E0BE)/(2.0*E0BE)));
eZEB = (expl*(1.0+((nZEB_T*(1-(pow2_2mPE/(2.0*E0BE))))-400.0)));
}

d_x_dV_b2_e1 = d_Vb2e1_dV_b2_e1*inv_VDE_T;
x = (Vb2e1*inv_VDE_T);
{
double value_pow_0 = pow((-x),((-2.0)-(model_.PE)));
double  deriv_pow_0_d0 = (((-x) == 0.0)?0.0:(value_pow_0*((-2.0)-(model_.PE))/(-x)));

d_dE0BE_dV_b2_e1 = (value_pow_0*((model_.PE)*(-3*d_x_dV_b2_e1*((model_.PE)-1))-(((6*x)*x)*d_x_dV_b2_e1+((6*x)*d_x_dV_b2_e1+6*d_x_dV_b2_e1*x)*(((model_.PE)-1)+x)))+(deriv_pow_0_d0*((-d_x_dV_b2_e1)))*(((model_.PE)*((1-((model_.PE)*(model_.PE)))-((3*x)*((model_.PE)-1))))-(((6*x)*x)*(((model_.PE)-1)+x))))*0.16666666666666666667;
dE0BE = ((value_pow_0*(((model_.PE)*((1-((model_.PE)*(model_.PE)))-((3*x)*((model_.PE)-1))))-(((6*x)*x)*(((model_.PE)-1)+x))))*0.16666666666666666667);
}
if (((((Vb2e1*pow2_2mPE)*nZEB_T)/(VGZEB_T*dE0BE))<400.0))
{
{
double value_exp_0 = exp((((Vb2e1*pow2_2mPE)*nZEB_T)/(VGZEB_T*dE0BE)));
double  deriv_exp_0_d0 = value_exp_0;

d_edZEB_dV_b2_e1 = (deriv_exp_0_d0*((((VGZEB_T*dE0BE)*d_Vb2e1_dV_b2_e1*pow2_2mPE*nZEB_T-((Vb2e1*pow2_2mPE)*nZEB_T)*VGZEB_T*d_dE0BE_dV_b2_e1)/(VGZEB_T*dE0BE)/(VGZEB_T*dE0BE))));
edZEB = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}

d_edZEB_dV_b2_e1 = expl*(((VGZEB_T*dE0BE)*d_Vb2e1_dV_b2_e1*pow2_2mPE*nZEB_T-((Vb2e1*pow2_2mPE)*nZEB_T)*VGZEB_T*d_dE0BE_dV_b2_e1)/(VGZEB_T*dE0BE)/(VGZEB_T*dE0BE));
edZEB = (expl*(1.0+((((Vb2e1*pow2_2mPE)*nZEB_T)/(VGZEB_T*dE0BE))-400.0)));
}

d_DZEB_dV_b2_e1 = ((-d_Vb2e1_dV_b2_e1)-(((VGZEB_T*dE0BE)*(-d_edZEB_dV_b2_e1)+VGZEB_T*d_dE0BE_dV_b2_e1*(1-edZEB))/(pow2_2mPE*nZEB_T)));
DZEB = ((-Vb2e1)-(((VGZEB_T*dE0BE)*(1-edZEB))/(pow2_2mPE*nZEB_T)));

d_Izteb_dV_c1_c2 = ((((2.0*IZEB_TM)*DZEB)*E0BE)*d_eZEB_dV_c1_c2+((2.0*IZEB_TM)*DZEB)*d_E0BE_dV_c1_c2*eZEB)*inv_VDE_T*pow2_PEm2;
d_Izteb_dV_b2_c1 = ((((2.0*IZEB_TM)*DZEB)*E0BE)*d_eZEB_dV_b2_c1+((2.0*IZEB_TM)*DZEB)*d_E0BE_dV_b2_c1*eZEB)*inv_VDE_T*pow2_PEm2;
d_Izteb_dV_b2_c2 = ((((2.0*IZEB_TM)*DZEB)*E0BE)*d_eZEB_dV_b2_c2+((2.0*IZEB_TM)*DZEB)*d_E0BE_dV_b2_c2*eZEB)*inv_VDE_T*pow2_PEm2;
d_Izteb_dV_b2_e1 = ((((2.0*IZEB_TM)*DZEB)*E0BE)*d_eZEB_dV_b2_e1+(((2.0*IZEB_TM)*DZEB)*d_E0BE_dV_b2_e1+(2.0*IZEB_TM)*d_DZEB_dV_b2_e1*E0BE)*eZEB)*inv_VDE_T*pow2_PEm2;
Izteb = ((((((2.0*IZEB_TM)*DZEB)*E0BE)*eZEB)*inv_VDE_T)*pow2_PEm2);
}
else
{

d_DZEB_dV_b2_e1 =  0.0;
DZEB = 0;

d_Izteb_dV_b2_e1 = d_Izteb_dV_b2_c2 = d_Izteb_dV_b2_c1 = d_Izteb_dV_c1_c2 =  0.0;
Izteb = 0;
}

d_g1_dV_c4_c1 = If0*d_eVb1c4_dV_c4_c1;
d_g1_dV_c1_c2 = If0*d_eVb1c4_dV_c1_c2;
d_g1_dV_b2_c2 = If0*d_eVb1c4_dV_b2_c2;
d_g1_dV_b1_b2 = If0*d_eVb1c4_dV_b1_b2;
g1 = (If0*eVb1c4);

d_g2_dV_c4_c1 = 4.0*d_eVb1c4VDC_dV_c4_c1;
d_g2_dV_c1_c2 = 4.0*d_eVb1c4VDC_dV_c1_c2;
d_g2_dV_b2_c2 = 4.0*d_eVb1c4VDC_dV_b2_c2;
d_g2_dV_b1_b2 = 4.0*d_eVb1c4VDC_dV_b1_b2;
g2 = (4.0*eVb1c4VDC);
{
double value_sqrt_0 = sqrt((1.0+g1));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_nBex_dV_c4_c1 = (((1.0+value_sqrt_0)*d_g1_dV_c4_c1-(g1-If0)*(deriv_sqrt_0_d0*(d_g1_dV_c4_c1)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_nBex_dV_c1_c2 = (((1.0+value_sqrt_0)*d_g1_dV_c1_c2-(g1-If0)*(deriv_sqrt_0_d0*(d_g1_dV_c1_c2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_nBex_dV_b2_c2 = (((1.0+value_sqrt_0)*d_g1_dV_b2_c2-(g1-If0)*(deriv_sqrt_0_d0*(d_g1_dV_b2_c2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_nBex_dV_b1_b2 = (((1.0+value_sqrt_0)*d_g1_dV_b1_b2-(g1-If0)*(deriv_sqrt_0_d0*(d_g1_dV_b1_b2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
nBex = ((g1-If0)/(1.0+value_sqrt_0));
}
{
double value_sqrt_0 = sqrt((1.0+g2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_pWex_dV_c4_c1 = (((1.0+value_sqrt_0)*d_g2_dV_c4_c1-g2*(deriv_sqrt_0_d0*(d_g2_dV_c4_c1)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_pWex_dV_c1_c2 = (((1.0+value_sqrt_0)*d_g2_dV_c1_c2-g2*(deriv_sqrt_0_d0*(d_g2_dV_c1_c2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_pWex_dV_b2_c2 = (((1.0+value_sqrt_0)*d_g2_dV_b2_c2-g2*(deriv_sqrt_0_d0*(d_g2_dV_b2_c2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_pWex_dV_b1_b2 = (((1.0+value_sqrt_0)*d_g2_dV_b1_b2-g2*(deriv_sqrt_0_d0*(d_g2_dV_b1_b2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
pWex = (g2/(1.0+value_sqrt_0));
}

d_Iex_dV_c4_c1 = (IK_TM*d_nBex_dV_c4_c1/(2.0*BRI_T));
d_Iex_dV_c1_c2 = (IK_TM*d_nBex_dV_c1_c2/(2.0*BRI_T));
d_Iex_dV_b2_c2 = (IK_TM*d_nBex_dV_b2_c2/(2.0*BRI_T));
d_Iex_dV_b1_b2 = (IK_TM*d_nBex_dV_b1_b2/(2.0*BRI_T));
Iex = ((IK_TM*nBex)/(2.0*BRI_T));
if (((model_.EXSUB)==1.0))
{
{
double value_sqrt_0 = sqrt((1.0+((4.0*(IS_TM/IKS_TM))*eVb1c4)));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_Isub_dV_s_c1 = ((2.0*ISS_TM)*(-d_eVsc4_dV_s_c1)/(1.0+value_sqrt_0));
d_Isub_dV_c4_c1 = (((1.0+value_sqrt_0)*(2.0*ISS_TM)*(d_eVb1c4_dV_c4_c1-d_eVsc4_dV_c4_c1)-((2.0*ISS_TM)*(eVb1c4-eVsc4))*(deriv_sqrt_0_d0*((4.0*(IS_TM/IKS_TM))*d_eVb1c4_dV_c4_c1)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_Isub_dV_c1_c2 = (((1.0+value_sqrt_0)*(2.0*ISS_TM)*d_eVb1c4_dV_c1_c2-((2.0*ISS_TM)*(eVb1c4-eVsc4))*(deriv_sqrt_0_d0*((4.0*(IS_TM/IKS_TM))*d_eVb1c4_dV_c1_c2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_Isub_dV_b2_c2 = (((1.0+value_sqrt_0)*(2.0*ISS_TM)*d_eVb1c4_dV_b2_c2-((2.0*ISS_TM)*(eVb1c4-eVsc4))*(deriv_sqrt_0_d0*((4.0*(IS_TM/IKS_TM))*d_eVb1c4_dV_b2_c2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_Isub_dV_b1_b2 = (((1.0+value_sqrt_0)*(2.0*ISS_TM)*d_eVb1c4_dV_b1_b2-((2.0*ISS_TM)*(eVb1c4-eVsc4))*(deriv_sqrt_0_d0*((4.0*(IS_TM/IKS_TM))*d_eVb1c4_dV_b1_b2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
Isub = (((2.0*ISS_TM)*(eVb1c4-eVsc4))/(1.0+value_sqrt_0));
}
}
else
{
{
double value_sqrt_0 = sqrt((1.0+((4.0*(IS_TM/IKS_TM))*eVb1c4)));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_Isub_dV_s_c1 =  0.0;
d_Isub_dV_c4_c1 = (((1.0+value_sqrt_0)*(2.0*ISS_TM)*d_eVb1c4_dV_c4_c1-((2.0*ISS_TM)*(eVb1c4-1.0))*(deriv_sqrt_0_d0*((4.0*(IS_TM/IKS_TM))*d_eVb1c4_dV_c4_c1)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_Isub_dV_c1_c2 = (((1.0+value_sqrt_0)*(2.0*ISS_TM)*d_eVb1c4_dV_c1_c2-((2.0*ISS_TM)*(eVb1c4-1.0))*(deriv_sqrt_0_d0*((4.0*(IS_TM/IKS_TM))*d_eVb1c4_dV_c1_c2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_Isub_dV_b2_c2 = (((1.0+value_sqrt_0)*(2.0*ISS_TM)*d_eVb1c4_dV_b2_c2-((2.0*ISS_TM)*(eVb1c4-1.0))*(deriv_sqrt_0_d0*((4.0*(IS_TM/IKS_TM))*d_eVb1c4_dV_b2_c2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_Isub_dV_b1_b2 = (((1.0+value_sqrt_0)*(2.0*ISS_TM)*d_eVb1c4_dV_b1_b2-((2.0*ISS_TM)*(eVb1c4-1.0))*(deriv_sqrt_0_d0*((4.0*(IS_TM/IKS_TM))*d_eVb1c4_dV_b1_b2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
Isub = (((2.0*ISS_TM)*(eVb1c4-1.0))/(1.0+value_sqrt_0));
}
}
if (((model_.ICSS)<0.0))
{

d_Isf_dV_s_c1 = ISS_TM*d_eVsc1_dV_s_c1;
Isf = (ISS_TM*(eVsc1-1.0));
}
else
{

d_Isf_dV_s_c1 = ICSS_TM*d_eVsc1_dV_s_c1;
Isf = (ICSS_TM*(eVsc1-1.0));
}

d_XIex_dV_b_c = d_XIex_dV_b_b1 = d_XIex_dV_b1_b2 = d_XIex_dV_c4_c1 = d_XIex_dV_c3_c1 = d_XIex_dV_c3_c4 = d_XIex_dV_b2_e1 = d_XIex_dV_b2_c2 = d_XIex_dV_b2_c1 = d_XIex_dV_c1_c2 = d_XIex_dV_s_c1 =  0.0;
XIex = 0.0;

d_XIsub_dV_b_c = d_XIsub_dV_b_b1 = d_XIsub_dV_b1_b2 = d_XIsub_dV_c4_c1 = d_XIsub_dV_c3_c1 = d_XIsub_dV_c3_c4 = d_XIsub_dV_b2_e1 = d_XIsub_dV_b2_c2 = d_XIsub_dV_b2_c1 = d_XIsub_dV_c1_c2 = d_XIsub_dV_s_c1 =  0.0;
XIsub = 0.0;
if ((((model_.EXMOD)==1)||((model_.EXMOD)==2)))
{

d_Iex_dV_c4_c1 = d_Iex_dV_c4_c1*Xext1;
d_Iex_dV_c1_c2 = d_Iex_dV_c1_c2*Xext1;
d_Iex_dV_b2_c2 = d_Iex_dV_b2_c2*Xext1;
d_Iex_dV_b1_b2 = d_Iex_dV_b1_b2*Xext1;
Iex = (Iex*Xext1);

d_Isub_dV_s_c1 = d_Isub_dV_s_c1*Xext1;
d_Isub_dV_c4_c1 = d_Isub_dV_c4_c1*Xext1;
d_Isub_dV_c1_c2 = d_Isub_dV_c1_c2*Xext1;
d_Isub_dV_b2_c2 = d_Isub_dV_b2_c2*Xext1;
d_Isub_dV_b1_b2 = d_Isub_dV_b1_b2*Xext1;
Isub = (Isub*Xext1);

d_Xg1_dV_c3_c4 = If0*d_eVbc3_dV_c3_c4;
d_Xg1_dV_c3_c1 = If0*d_eVbc3_dV_c3_c1;
d_Xg1_dV_c4_c1 = If0*d_eVbc3_dV_c4_c1;
d_Xg1_dV_c1_c2 = If0*d_eVbc3_dV_c1_c2;
d_Xg1_dV_b2_c2 = If0*d_eVbc3_dV_b2_c2;
d_Xg1_dV_b1_b2 = If0*d_eVbc3_dV_b1_b2;
d_Xg1_dV_b_b1 = If0*d_eVbc3_dV_b_b1;
d_Xg1_dV_b_c = If0*d_eVbc3_dV_b_c;
Xg1 = (If0*eVbc3);
{
double value_sqrt_0 = sqrt((1.0+Xg1));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_XnBex_dV_c3_c4 = (((1.0+value_sqrt_0)*d_Xg1_dV_c3_c4-(Xg1-If0)*(deriv_sqrt_0_d0*(d_Xg1_dV_c3_c4)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XnBex_dV_c3_c1 = (((1.0+value_sqrt_0)*d_Xg1_dV_c3_c1-(Xg1-If0)*(deriv_sqrt_0_d0*(d_Xg1_dV_c3_c1)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XnBex_dV_c4_c1 = (((1.0+value_sqrt_0)*d_Xg1_dV_c4_c1-(Xg1-If0)*(deriv_sqrt_0_d0*(d_Xg1_dV_c4_c1)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XnBex_dV_c1_c2 = (((1.0+value_sqrt_0)*d_Xg1_dV_c1_c2-(Xg1-If0)*(deriv_sqrt_0_d0*(d_Xg1_dV_c1_c2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XnBex_dV_b2_c2 = (((1.0+value_sqrt_0)*d_Xg1_dV_b2_c2-(Xg1-If0)*(deriv_sqrt_0_d0*(d_Xg1_dV_b2_c2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XnBex_dV_b1_b2 = (((1.0+value_sqrt_0)*d_Xg1_dV_b1_b2-(Xg1-If0)*(deriv_sqrt_0_d0*(d_Xg1_dV_b1_b2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XnBex_dV_b_b1 = (((1.0+value_sqrt_0)*d_Xg1_dV_b_b1-(Xg1-If0)*(deriv_sqrt_0_d0*(d_Xg1_dV_b_b1)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XnBex_dV_b_c = (((1.0+value_sqrt_0)*d_Xg1_dV_b_c-(Xg1-If0)*(deriv_sqrt_0_d0*(d_Xg1_dV_b_c)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
XnBex = ((Xg1-If0)/(1.0+value_sqrt_0));
}

d_XIMex_dV_c3_c4 = ((((model_.XEXT)*0.5)*IK_TM)*d_XnBex_dV_c3_c4/BRI_T);
d_XIMex_dV_c3_c1 = ((((model_.XEXT)*0.5)*IK_TM)*d_XnBex_dV_c3_c1/BRI_T);
d_XIMex_dV_c4_c1 = ((((model_.XEXT)*0.5)*IK_TM)*d_XnBex_dV_c4_c1/BRI_T);
d_XIMex_dV_c1_c2 = ((((model_.XEXT)*0.5)*IK_TM)*d_XnBex_dV_c1_c2/BRI_T);
d_XIMex_dV_b2_c2 = ((((model_.XEXT)*0.5)*IK_TM)*d_XnBex_dV_b2_c2/BRI_T);
d_XIMex_dV_b1_b2 = ((((model_.XEXT)*0.5)*IK_TM)*d_XnBex_dV_b1_b2/BRI_T);
d_XIMex_dV_b_b1 = ((((model_.XEXT)*0.5)*IK_TM)*d_XnBex_dV_b_b1/BRI_T);
d_XIMex_dV_b_c = ((((model_.XEXT)*0.5)*IK_TM)*d_XnBex_dV_b_c/BRI_T);
XIMex = (((((model_.XEXT)*0.5)*IK_TM)*XnBex)/BRI_T);
if (((model_.EXSUB)==1.0))
{
{
double value_sqrt_0 = sqrt((1.0+(((4.0*IS_T)/IKS_T)*eVbc3)));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_XIMsub_dV_s_c1 = ((((model_.XEXT)*2.0)*ISS_TM)*(-d_eVsc3_dV_s_c1)/(1.0+value_sqrt_0));
d_XIMsub_dV_c3_c4 = (((1.0+value_sqrt_0)*(((model_.XEXT)*2.0)*ISS_TM)*(d_eVbc3_dV_c3_c4-d_eVsc3_dV_c3_c4)-((((model_.XEXT)*2.0)*ISS_TM)*(eVbc3-eVsc3))*(deriv_sqrt_0_d0*(((4.0*IS_T)/IKS_T)*d_eVbc3_dV_c3_c4)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XIMsub_dV_c3_c1 = (((1.0+value_sqrt_0)*(((model_.XEXT)*2.0)*ISS_TM)*(d_eVbc3_dV_c3_c1-d_eVsc3_dV_c3_c1)-((((model_.XEXT)*2.0)*ISS_TM)*(eVbc3-eVsc3))*(deriv_sqrt_0_d0*(((4.0*IS_T)/IKS_T)*d_eVbc3_dV_c3_c1)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XIMsub_dV_c4_c1 = (((1.0+value_sqrt_0)*(((model_.XEXT)*2.0)*ISS_TM)*(d_eVbc3_dV_c4_c1-d_eVsc3_dV_c4_c1)-((((model_.XEXT)*2.0)*ISS_TM)*(eVbc3-eVsc3))*(deriv_sqrt_0_d0*(((4.0*IS_T)/IKS_T)*d_eVbc3_dV_c4_c1)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XIMsub_dV_c1_c2 = (((1.0+value_sqrt_0)*(((model_.XEXT)*2.0)*ISS_TM)*d_eVbc3_dV_c1_c2-((((model_.XEXT)*2.0)*ISS_TM)*(eVbc3-eVsc3))*(deriv_sqrt_0_d0*(((4.0*IS_T)/IKS_T)*d_eVbc3_dV_c1_c2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XIMsub_dV_b2_c2 = (((1.0+value_sqrt_0)*(((model_.XEXT)*2.0)*ISS_TM)*d_eVbc3_dV_b2_c2-((((model_.XEXT)*2.0)*ISS_TM)*(eVbc3-eVsc3))*(deriv_sqrt_0_d0*(((4.0*IS_T)/IKS_T)*d_eVbc3_dV_b2_c2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XIMsub_dV_b1_b2 = (((1.0+value_sqrt_0)*(((model_.XEXT)*2.0)*ISS_TM)*d_eVbc3_dV_b1_b2-((((model_.XEXT)*2.0)*ISS_TM)*(eVbc3-eVsc3))*(deriv_sqrt_0_d0*(((4.0*IS_T)/IKS_T)*d_eVbc3_dV_b1_b2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XIMsub_dV_b_b1 = (((1.0+value_sqrt_0)*(((model_.XEXT)*2.0)*ISS_TM)*d_eVbc3_dV_b_b1-((((model_.XEXT)*2.0)*ISS_TM)*(eVbc3-eVsc3))*(deriv_sqrt_0_d0*(((4.0*IS_T)/IKS_T)*d_eVbc3_dV_b_b1)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XIMsub_dV_b_c = (((1.0+value_sqrt_0)*(((model_.XEXT)*2.0)*ISS_TM)*d_eVbc3_dV_b_c-((((model_.XEXT)*2.0)*ISS_TM)*(eVbc3-eVsc3))*(deriv_sqrt_0_d0*(((4.0*IS_T)/IKS_T)*d_eVbc3_dV_b_c)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
XIMsub = (((((model_.XEXT)*2.0)*ISS_TM)*(eVbc3-eVsc3))/(1.0+value_sqrt_0));
}
}
else
{
{
double value_sqrt_0 = sqrt((1.0+(((4.0*IS_T)/IKS_T)*eVbc3)));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_XIMsub_dV_s_c1 =  0.0;
d_XIMsub_dV_c3_c4 = (((1.0+value_sqrt_0)*(((model_.XEXT)*2.0)*ISS_TM)*d_eVbc3_dV_c3_c4-((((model_.XEXT)*2.0)*ISS_TM)*(eVbc3-1.0))*(deriv_sqrt_0_d0*(((4.0*IS_T)/IKS_T)*d_eVbc3_dV_c3_c4)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XIMsub_dV_c3_c1 = (((1.0+value_sqrt_0)*(((model_.XEXT)*2.0)*ISS_TM)*d_eVbc3_dV_c3_c1-((((model_.XEXT)*2.0)*ISS_TM)*(eVbc3-1.0))*(deriv_sqrt_0_d0*(((4.0*IS_T)/IKS_T)*d_eVbc3_dV_c3_c1)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XIMsub_dV_c4_c1 = (((1.0+value_sqrt_0)*(((model_.XEXT)*2.0)*ISS_TM)*d_eVbc3_dV_c4_c1-((((model_.XEXT)*2.0)*ISS_TM)*(eVbc3-1.0))*(deriv_sqrt_0_d0*(((4.0*IS_T)/IKS_T)*d_eVbc3_dV_c4_c1)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XIMsub_dV_c1_c2 = (((1.0+value_sqrt_0)*(((model_.XEXT)*2.0)*ISS_TM)*d_eVbc3_dV_c1_c2-((((model_.XEXT)*2.0)*ISS_TM)*(eVbc3-1.0))*(deriv_sqrt_0_d0*(((4.0*IS_T)/IKS_T)*d_eVbc3_dV_c1_c2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XIMsub_dV_b2_c2 = (((1.0+value_sqrt_0)*(((model_.XEXT)*2.0)*ISS_TM)*d_eVbc3_dV_b2_c2-((((model_.XEXT)*2.0)*ISS_TM)*(eVbc3-1.0))*(deriv_sqrt_0_d0*(((4.0*IS_T)/IKS_T)*d_eVbc3_dV_b2_c2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XIMsub_dV_b1_b2 = (((1.0+value_sqrt_0)*(((model_.XEXT)*2.0)*ISS_TM)*d_eVbc3_dV_b1_b2-((((model_.XEXT)*2.0)*ISS_TM)*(eVbc3-1.0))*(deriv_sqrt_0_d0*(((4.0*IS_T)/IKS_T)*d_eVbc3_dV_b1_b2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XIMsub_dV_b_b1 = (((1.0+value_sqrt_0)*(((model_.XEXT)*2.0)*ISS_TM)*d_eVbc3_dV_b_b1-((((model_.XEXT)*2.0)*ISS_TM)*(eVbc3-1.0))*(deriv_sqrt_0_d0*(((4.0*IS_T)/IKS_T)*d_eVbc3_dV_b_b1)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XIMsub_dV_b_c = (((1.0+value_sqrt_0)*(((model_.XEXT)*2.0)*ISS_TM)*d_eVbc3_dV_b_c-((((model_.XEXT)*2.0)*ISS_TM)*(eVbc3-1.0))*(deriv_sqrt_0_d0*(((4.0*IS_T)/IKS_T)*d_eVbc3_dV_b_c)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
XIMsub = (((((model_.XEXT)*2.0)*ISS_TM)*(eVbc3-1.0))/(1.0+value_sqrt_0));
}
}
if (((model_.EXMOD)==1))
{
Vex_bias = (((model_.XEXT)*((IS_TM/BRI_T)+ISS_TM))*RCCxx_TM);
{
double value_log_0 = log((Vex_bias*VtINV));
Vex = (Vt*(2.0-value_log_0));
}

d_vdif_dV_c3_c4 = d_Vbc3_dV_c3_c4;
d_vdif_dV_c3_c1 = d_Vbc3_dV_c3_c1;
d_vdif_dV_c4_c1 = d_Vbc3_dV_c4_c1;
d_vdif_dV_c1_c2 = d_Vbc3_dV_c1_c2;
d_vdif_dV_b2_c2 = d_Vbc3_dV_b2_c2;
d_vdif_dV_b1_b2 = d_Vbc3_dV_b1_b2;
d_vdif_dV_b_b1 = d_Vbc3_dV_b_b1;
d_vdif_dV_b_c = d_Vbc3_dV_b_c;
vdif = (Vbc3-Vex);
eps2 = (0.11*0.11);

d_x2_dV_b2_e1 = d_x2_dV_b2_c1 =  0.0;
d_x2_dV_c3_c4 = (vdif*d_vdif_dV_c3_c4+d_vdif_dV_c3_c4*vdif);
d_x2_dV_c3_c1 = (vdif*d_vdif_dV_c3_c1+d_vdif_dV_c3_c1*vdif);
d_x2_dV_c4_c1 = (vdif*d_vdif_dV_c4_c1+d_vdif_dV_c4_c1*vdif);
d_x2_dV_c1_c2 = (vdif*d_vdif_dV_c1_c2+d_vdif_dV_c1_c2*vdif);
d_x2_dV_b2_c2 = (vdif*d_vdif_dV_b2_c2+d_vdif_dV_b2_c2*vdif);
d_x2_dV_b1_b2 = (vdif*d_vdif_dV_b1_b2+d_vdif_dV_b1_b2*vdif);
d_x2_dV_b_b1 = (vdif*d_vdif_dV_b_b1+d_vdif_dV_b_b1*vdif);
d_x2_dV_b_c = (vdif*d_vdif_dV_b_c+d_vdif_dV_b_c*vdif);
x2 = (vdif*vdif);
if ((vdif<0.0))
{
{
double value_sqrt_0 = sqrt((x2+eps2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_VBex_dV_c1_c2 = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_c1_c2))-d_vdif_dV_c1_c2)/(value_sqrt_0-vdif)/(value_sqrt_0-vdif));
d_VBex_dV_b2_c1 = (-(0.5*eps2)*(deriv_sqrt_0_d0*(d_x2_dV_b2_c1))/(value_sqrt_0-vdif)/(value_sqrt_0-vdif));
d_VBex_dV_b2_c2 = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_b2_c2))-d_vdif_dV_b2_c2)/(value_sqrt_0-vdif)/(value_sqrt_0-vdif));
d_VBex_dV_b2_e1 = (-(0.5*eps2)*(deriv_sqrt_0_d0*(d_x2_dV_b2_e1))/(value_sqrt_0-vdif)/(value_sqrt_0-vdif));
d_VBex_dV_c3_c4 = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_c3_c4))-d_vdif_dV_c3_c4)/(value_sqrt_0-vdif)/(value_sqrt_0-vdif));
d_VBex_dV_c3_c1 = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_c3_c1))-d_vdif_dV_c3_c1)/(value_sqrt_0-vdif)/(value_sqrt_0-vdif));
d_VBex_dV_c4_c1 = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_c4_c1))-d_vdif_dV_c4_c1)/(value_sqrt_0-vdif)/(value_sqrt_0-vdif));
d_VBex_dV_b1_b2 = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_b1_b2))-d_vdif_dV_b1_b2)/(value_sqrt_0-vdif)/(value_sqrt_0-vdif));
d_VBex_dV_b_b1 = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_b_b1))-d_vdif_dV_b_b1)/(value_sqrt_0-vdif)/(value_sqrt_0-vdif));
d_VBex_dV_b_c = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_b_c))-d_vdif_dV_b_c)/(value_sqrt_0-vdif)/(value_sqrt_0-vdif));
VBex = ((0.5*eps2)/(value_sqrt_0-vdif));
}
}
else
{
{
double value_sqrt_0 = sqrt((x2+eps2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_VBex_dV_c1_c2 = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_c1_c2))+d_vdif_dV_c1_c2);
d_VBex_dV_b2_c1 = 0.5*(deriv_sqrt_0_d0*(d_x2_dV_b2_c1));
d_VBex_dV_b2_c2 = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_b2_c2))+d_vdif_dV_b2_c2);
d_VBex_dV_b2_e1 = 0.5*(deriv_sqrt_0_d0*(d_x2_dV_b2_e1));
d_VBex_dV_c3_c4 = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_c3_c4))+d_vdif_dV_c3_c4);
d_VBex_dV_c3_c1 = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_c3_c1))+d_vdif_dV_c3_c1);
d_VBex_dV_c4_c1 = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_c4_c1))+d_vdif_dV_c4_c1);
d_VBex_dV_b1_b2 = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_b1_b2))+d_vdif_dV_b1_b2);
d_VBex_dV_b_b1 = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_b_b1))+d_vdif_dV_b_b1);
d_VBex_dV_b_c = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_b_c))+d_vdif_dV_b_c);
VBex = (0.5*(value_sqrt_0+vdif));
}
}


d_Fex_dV_s_c1 = (-VBex*d_XIMsub_dV_s_c1*RCCxx_TM/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex));
d_Fex_dV_c1_c2 = ((((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)*d_VBex_dV_c1_c2-VBex*((d_XIMex_dV_c1_c2+d_XIMsub_dV_c1_c2)*RCCxx_TM+d_VBex_dV_c1_c2))/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex));
d_Fex_dV_b2_c1 = ((((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)*d_VBex_dV_b2_c1-VBex*d_VBex_dV_b2_c1)/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex));
d_Fex_dV_b2_c2 = ((((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)*d_VBex_dV_b2_c2-VBex*((d_XIMex_dV_b2_c2+d_XIMsub_dV_b2_c2)*RCCxx_TM+d_VBex_dV_b2_c2))/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex));
d_Fex_dV_b2_e1 = ((((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)*d_VBex_dV_b2_e1-VBex*d_VBex_dV_b2_e1)/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex));
d_Fex_dV_c3_c4 = ((((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)*d_VBex_dV_c3_c4-VBex*((d_XIMex_dV_c3_c4+d_XIMsub_dV_c3_c4)*RCCxx_TM+d_VBex_dV_c3_c4))/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex));
d_Fex_dV_c3_c1 = ((((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)*d_VBex_dV_c3_c1-VBex*((d_XIMex_dV_c3_c1+d_XIMsub_dV_c3_c1)*RCCxx_TM+d_VBex_dV_c3_c1))/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex));
d_Fex_dV_c4_c1 = ((((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)*d_VBex_dV_c4_c1-VBex*((d_XIMex_dV_c4_c1+d_XIMsub_dV_c4_c1)*RCCxx_TM+d_VBex_dV_c4_c1))/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex));
d_Fex_dV_b1_b2 = ((((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)*d_VBex_dV_b1_b2-VBex*((d_XIMex_dV_b1_b2+d_XIMsub_dV_b1_b2)*RCCxx_TM+d_VBex_dV_b1_b2))/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex));
d_Fex_dV_b_b1 = ((((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)*d_VBex_dV_b_b1-VBex*((d_XIMex_dV_b_b1+d_XIMsub_dV_b_b1)*RCCxx_TM+d_VBex_dV_b_b1))/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex));
d_Fex_dV_b_c = ((((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)*d_VBex_dV_b_c-VBex*((d_XIMex_dV_b_c+d_XIMsub_dV_b_c)*RCCxx_TM+d_VBex_dV_b_c))/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex)/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex));
Fex = (VBex/((Vex_bias+((XIMex+XIMsub)*RCCxx_TM))+VBex));
}
else
{
Vex = 0.0;

d_vdif_dV_b_c = d_vdif_dV_b_b1 = d_vdif_dV_b1_b2 = d_vdif_dV_b2_c2 = d_vdif_dV_c1_c2 = d_vdif_dV_c4_c1 = d_vdif_dV_c3_c1 = d_vdif_dV_c3_c4 =  0.0;
vdif = 0.0;

d_VBex_dV_b_c = d_VBex_dV_b_b1 = d_VBex_dV_b1_b2 = d_VBex_dV_c4_c1 = d_VBex_dV_c3_c1 = d_VBex_dV_c3_c4 = d_VBex_dV_b2_e1 = d_VBex_dV_b2_c2 = d_VBex_dV_b2_c1 = d_VBex_dV_c1_c2 =  0.0;
VBex = 0.0;

d_Fex_dV_b_c = d_Fex_dV_b_b1 = d_Fex_dV_b1_b2 = d_Fex_dV_c4_c1 = d_Fex_dV_c3_c1 = d_Fex_dV_c3_c4 = d_Fex_dV_b2_e1 = d_Fex_dV_b2_c2 = d_Fex_dV_b2_c1 = d_Fex_dV_c1_c2 = d_Fex_dV_s_c1 =  0.0;
Fex = 1.0;
}

d_XIex_dV_s_c1 = d_Fex_dV_s_c1*XIMex;
d_XIex_dV_c1_c2 = (Fex*d_XIMex_dV_c1_c2+d_Fex_dV_c1_c2*XIMex);
d_XIex_dV_b2_c1 = d_Fex_dV_b2_c1*XIMex;
d_XIex_dV_b2_c2 = (Fex*d_XIMex_dV_b2_c2+d_Fex_dV_b2_c2*XIMex);
d_XIex_dV_b2_e1 = d_Fex_dV_b2_e1*XIMex;
d_XIex_dV_c3_c4 = (Fex*d_XIMex_dV_c3_c4+d_Fex_dV_c3_c4*XIMex);
d_XIex_dV_c3_c1 = (Fex*d_XIMex_dV_c3_c1+d_Fex_dV_c3_c1*XIMex);
d_XIex_dV_c4_c1 = (Fex*d_XIMex_dV_c4_c1+d_Fex_dV_c4_c1*XIMex);
d_XIex_dV_b1_b2 = (Fex*d_XIMex_dV_b1_b2+d_Fex_dV_b1_b2*XIMex);
d_XIex_dV_b_b1 = (Fex*d_XIMex_dV_b_b1+d_Fex_dV_b_b1*XIMex);
d_XIex_dV_b_c = (Fex*d_XIMex_dV_b_c+d_Fex_dV_b_c*XIMex);
XIex = (Fex*XIMex);

d_XIsub_dV_s_c1 = (Fex*d_XIMsub_dV_s_c1+d_Fex_dV_s_c1*XIMsub);
d_XIsub_dV_c1_c2 = (Fex*d_XIMsub_dV_c1_c2+d_Fex_dV_c1_c2*XIMsub);
d_XIsub_dV_b2_c1 = d_Fex_dV_b2_c1*XIMsub;
d_XIsub_dV_b2_c2 = (Fex*d_XIMsub_dV_b2_c2+d_Fex_dV_b2_c2*XIMsub);
d_XIsub_dV_b2_e1 = d_Fex_dV_b2_e1*XIMsub;
d_XIsub_dV_c3_c4 = (Fex*d_XIMsub_dV_c3_c4+d_Fex_dV_c3_c4*XIMsub);
d_XIsub_dV_c3_c1 = (Fex*d_XIMsub_dV_c3_c1+d_Fex_dV_c3_c1*XIMsub);
d_XIsub_dV_c4_c1 = (Fex*d_XIMsub_dV_c4_c1+d_Fex_dV_c4_c1*XIMsub);
d_XIsub_dV_b1_b2 = (Fex*d_XIMsub_dV_b1_b2+d_Fex_dV_b1_b2*XIMsub);
d_XIsub_dV_b_b1 = (Fex*d_XIMsub_dV_b_b1+d_Fex_dV_b_b1*XIMsub);
d_XIsub_dV_b_c = (Fex*d_XIMsub_dV_b_c+d_Fex_dV_b_c*XIMsub);
XIsub = (Fex*XIMsub);
}
else
{

d_Fex_dV_b_c = d_Fex_dV_b_b1 = d_Fex_dV_b1_b2 = d_Fex_dV_c4_c1 = d_Fex_dV_c3_c1 = d_Fex_dV_c3_c4 = d_Fex_dV_b2_e1 = d_Fex_dV_b2_c2 = d_Fex_dV_b2_c1 = d_Fex_dV_c1_c2 = d_Fex_dV_s_c1 =  0.0;
Fex = 0;

d_XnBex_dV_b_c = d_XnBex_dV_b_b1 = d_XnBex_dV_b1_b2 = d_XnBex_dV_b2_c2 = d_XnBex_dV_c1_c2 = d_XnBex_dV_c4_c1 = d_XnBex_dV_c3_c1 = d_XnBex_dV_c3_c4 =  0.0;
XnBex = 0;
}

d_q0Q_dV_c1_c2 = ((d_Vte_dV_c1_c2/VER_T)+(d_Vtc_dV_c1_c2/VEF_T));
d_q0Q_dV_b2_c1 = ((d_Vte_dV_b2_c1/VER_T)+(d_Vtc_dV_b2_c1/VEF_T));
d_q0Q_dV_b2_c2 = ((d_Vte_dV_b2_c2/VER_T)+(d_Vtc_dV_b2_c2/VEF_T));
d_q0Q_dV_b2_e1 = ((d_Vte_dV_b2_e1/VER_T)+(d_Vtc_dV_b2_e1/VEF_T));
q0Q = ((1.0+(Vte/VER_T))+(Vtc/VEF_T));
eps2 = (0.1*0.1);

d_x2_dV_b_c = d_x2_dV_b_b1 = d_x2_dV_b1_b2 = d_x2_dV_c4_c1 = d_x2_dV_c3_c1 = d_x2_dV_c3_c4 =  0.0;
d_x2_dV_c1_c2 = (q0Q*d_q0Q_dV_c1_c2+d_q0Q_dV_c1_c2*q0Q);
d_x2_dV_b2_c1 = (q0Q*d_q0Q_dV_b2_c1+d_q0Q_dV_b2_c1*q0Q);
d_x2_dV_b2_c2 = (q0Q*d_q0Q_dV_b2_c2+d_q0Q_dV_b2_c2*q0Q);
d_x2_dV_b2_e1 = (q0Q*d_q0Q_dV_b2_e1+d_q0Q_dV_b2_e1*q0Q);
x2 = (q0Q*q0Q);
if ((q0Q<0.0))
{
{
double value_sqrt_0 = sqrt((x2+eps2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_q1Q_dV_c1_c2 = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_c1_c2))-d_q0Q_dV_c1_c2)/(value_sqrt_0-q0Q)/(value_sqrt_0-q0Q));
d_q1Q_dV_b2_c1 = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_b2_c1))-d_q0Q_dV_b2_c1)/(value_sqrt_0-q0Q)/(value_sqrt_0-q0Q));
d_q1Q_dV_b2_c2 = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_b2_c2))-d_q0Q_dV_b2_c2)/(value_sqrt_0-q0Q)/(value_sqrt_0-q0Q));
d_q1Q_dV_b2_e1 = (-(0.5*eps2)*((deriv_sqrt_0_d0*(d_x2_dV_b2_e1))-d_q0Q_dV_b2_e1)/(value_sqrt_0-q0Q)/(value_sqrt_0-q0Q));
d_q1Q_dV_c3_c4 = (-(0.5*eps2)*(deriv_sqrt_0_d0*(d_x2_dV_c3_c4))/(value_sqrt_0-q0Q)/(value_sqrt_0-q0Q));
d_q1Q_dV_c3_c1 = (-(0.5*eps2)*(deriv_sqrt_0_d0*(d_x2_dV_c3_c1))/(value_sqrt_0-q0Q)/(value_sqrt_0-q0Q));
d_q1Q_dV_c4_c1 = (-(0.5*eps2)*(deriv_sqrt_0_d0*(d_x2_dV_c4_c1))/(value_sqrt_0-q0Q)/(value_sqrt_0-q0Q));
d_q1Q_dV_b1_b2 = (-(0.5*eps2)*(deriv_sqrt_0_d0*(d_x2_dV_b1_b2))/(value_sqrt_0-q0Q)/(value_sqrt_0-q0Q));
d_q1Q_dV_b_b1 = (-(0.5*eps2)*(deriv_sqrt_0_d0*(d_x2_dV_b_b1))/(value_sqrt_0-q0Q)/(value_sqrt_0-q0Q));
d_q1Q_dV_b_c = (-(0.5*eps2)*(deriv_sqrt_0_d0*(d_x2_dV_b_c))/(value_sqrt_0-q0Q)/(value_sqrt_0-q0Q));
q1Q = ((0.5*eps2)/(value_sqrt_0-q0Q));
}
}
else
{
{
double value_sqrt_0 = sqrt((x2+eps2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_q1Q_dV_c1_c2 = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_c1_c2))+d_q0Q_dV_c1_c2);
d_q1Q_dV_b2_c1 = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_b2_c1))+d_q0Q_dV_b2_c1);
d_q1Q_dV_b2_c2 = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_b2_c2))+d_q0Q_dV_b2_c2);
d_q1Q_dV_b2_e1 = 0.5*((deriv_sqrt_0_d0*(d_x2_dV_b2_e1))+d_q0Q_dV_b2_e1);
d_q1Q_dV_c3_c4 = 0.5*(deriv_sqrt_0_d0*(d_x2_dV_c3_c4));
d_q1Q_dV_c3_c1 = 0.5*(deriv_sqrt_0_d0*(d_x2_dV_c3_c1));
d_q1Q_dV_c4_c1 = 0.5*(deriv_sqrt_0_d0*(d_x2_dV_c4_c1));
d_q1Q_dV_b1_b2 = 0.5*(deriv_sqrt_0_d0*(d_x2_dV_b1_b2));
d_q1Q_dV_b_b1 = 0.5*(deriv_sqrt_0_d0*(d_x2_dV_b_b1));
d_q1Q_dV_b_c = 0.5*(deriv_sqrt_0_d0*(d_x2_dV_b_c));
q1Q = (0.5*(value_sqrt_0+q0Q));
}
}


d_qBQ_dV_c1_c2 = (q1Q*0.5*d_nB_dV_c1_c2+d_q1Q_dV_c1_c2*(1.0+(0.5*(n0+nB))));
d_qBQ_dV_b2_c1 = (q1Q*0.5*d_nB_dV_b2_c1+d_q1Q_dV_b2_c1*(1.0+(0.5*(n0+nB))));
d_qBQ_dV_b2_c2 = (q1Q*0.5*d_nB_dV_b2_c2+d_q1Q_dV_b2_c2*(1.0+(0.5*(n0+nB))));
d_qBQ_dV_b2_e1 = (q1Q*0.5*d_n0_dV_b2_e1+d_q1Q_dV_b2_e1*(1.0+(0.5*(n0+nB))));
d_qBQ_dV_c3_c4 = d_q1Q_dV_c3_c4*(1.0+(0.5*(n0+nB)));
d_qBQ_dV_c3_c1 = d_q1Q_dV_c3_c1*(1.0+(0.5*(n0+nB)));
d_qBQ_dV_c4_c1 = d_q1Q_dV_c4_c1*(1.0+(0.5*(n0+nB)));
d_qBQ_dV_b1_b2 = d_q1Q_dV_b1_b2*(1.0+(0.5*(n0+nB)));
d_qBQ_dV_b_b1 = d_q1Q_dV_b_b1*(1.0+(0.5*(n0+nB)));
d_qBQ_dV_b_c = d_q1Q_dV_b_c*(1.0+(0.5*(n0+nB)));
qBQ = (q1Q*(1.0+(0.5*(n0+nB))));

d_Rb2_dV_c1_c2 = (-(3.0*RBV_TM)*d_qBQ_dV_c1_c2/qBQ/qBQ);
d_Rb2_dV_b2_c1 = (-(3.0*RBV_TM)*d_qBQ_dV_b2_c1/qBQ/qBQ);
d_Rb2_dV_b2_c2 = (-(3.0*RBV_TM)*d_qBQ_dV_b2_c2/qBQ/qBQ);
d_Rb2_dV_b2_e1 = (-(3.0*RBV_TM)*d_qBQ_dV_b2_e1/qBQ/qBQ);
d_Rb2_dV_c3_c4 = (-(3.0*RBV_TM)*d_qBQ_dV_c3_c4/qBQ/qBQ);
d_Rb2_dV_c3_c1 = (-(3.0*RBV_TM)*d_qBQ_dV_c3_c1/qBQ/qBQ);
d_Rb2_dV_c4_c1 = (-(3.0*RBV_TM)*d_qBQ_dV_c4_c1/qBQ/qBQ);
d_Rb2_dV_b1_b2 = (-(3.0*RBV_TM)*d_qBQ_dV_b1_b2/qBQ/qBQ);
d_Rb2_dV_b_b1 = (-(3.0*RBV_TM)*d_qBQ_dV_b_b1/qBQ/qBQ);
d_Rb2_dV_b_c = (-(3.0*RBV_TM)*d_qBQ_dV_b_c/qBQ/qBQ);
Rb2 = ((3.0*RBV_TM)/qBQ);

d_Ib1b2_dV_c1_c2 = (-(((2.0*Vt)*(eVb1b2-1.0))+Vb1b2)*d_Rb2_dV_c1_c2/Rb2/Rb2);
d_Ib1b2_dV_b2_c1 = (-(((2.0*Vt)*(eVb1b2-1.0))+Vb1b2)*d_Rb2_dV_b2_c1/Rb2/Rb2);
d_Ib1b2_dV_b2_c2 = (-(((2.0*Vt)*(eVb1b2-1.0))+Vb1b2)*d_Rb2_dV_b2_c2/Rb2/Rb2);
d_Ib1b2_dV_b2_e1 = (-(((2.0*Vt)*(eVb1b2-1.0))+Vb1b2)*d_Rb2_dV_b2_e1/Rb2/Rb2);
d_Ib1b2_dV_c3_c4 = (-(((2.0*Vt)*(eVb1b2-1.0))+Vb1b2)*d_Rb2_dV_c3_c4/Rb2/Rb2);
d_Ib1b2_dV_c3_c1 = (-(((2.0*Vt)*(eVb1b2-1.0))+Vb1b2)*d_Rb2_dV_c3_c1/Rb2/Rb2);
d_Ib1b2_dV_c4_c1 = (-(((2.0*Vt)*(eVb1b2-1.0))+Vb1b2)*d_Rb2_dV_c4_c1/Rb2/Rb2);
d_Ib1b2_dV_b_b1 = (-(((2.0*Vt)*(eVb1b2-1.0))+Vb1b2)*d_Rb2_dV_b_b1/Rb2/Rb2);
d_Ib1b2_dV_b_c = (-(((2.0*Vt)*(eVb1b2-1.0))+Vb1b2)*d_Rb2_dV_b_c/Rb2/Rb2);
d_Ib1b2_dV_b1_b2 = ((Rb2*((2.0*Vt)*d_eVb1b2_dV_b1_b2+d_Vb1b2_dV_b1_b2)-(((2.0*Vt)*(eVb1b2-1.0))+Vb1b2)*d_Rb2_dV_b1_b2)/Rb2/Rb2);
Ib1b2 = ((((2.0*Vt)*(eVb1b2-1.0))+Vb1b2)/Rb2);

d_Iavl_dV_b2_c2 = d_Iavl_dV_b2_c1 = d_Iavl_dV_c1_c2 = d_Iavl_dV_b_c = d_Iavl_dV_b_b1 = d_Iavl_dV_b1_b2 = d_Iavl_dV_c4_c1 = d_Iavl_dV_c3_c1 = d_Iavl_dV_c3_c4 = d_Iavl_dV_b2_e1 =  0.0;
Iavl = 0.0;

d_Gem_dV_b2_c1 = d_Gem_dV_b2_c2 = d_Gem_dV_c1_c2 =  0.0;
Gem = 0.0;
if (((Ic1c2>0.0)&&(Vb2c1<VDC_T)))
{
dEdx0 = ((2.0*(model_.VAVL))/((model_.WAVL)*(model_.WAVL)));

d_sqr_arg_dV_c1_c2 = (-(VDC_T-Vb2c1)*d_Icap_IHC_dV_c1_c2/Icap_IHC/Icap_IHC);
d_sqr_arg_dV_b2_c2 = (-(VDC_T-Vb2c1)*d_Icap_IHC_dV_b2_c2/Icap_IHC/Icap_IHC);
d_sqr_arg_dV_b2_c1 = ((Icap_IHC*(-d_Vb2c1_dV_b2_c1)-(VDC_T-Vb2c1)*d_Icap_IHC_dV_b2_c1)/Icap_IHC/Icap_IHC);
sqr_arg = ((VDC_T-Vb2c1)/Icap_IHC);
{
double value_sqrt_0 = sqrt(((2.0*sqr_arg)/dEdx0));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_xd_dV_c1_c2 = (deriv_sqrt_0_d0*((2.0*d_sqr_arg_dV_c1_c2/dEdx0)));
d_xd_dV_b2_c1 = (deriv_sqrt_0_d0*((2.0*d_sqr_arg_dV_b2_c1/dEdx0)));
d_xd_dV_b2_c2 = (deriv_sqrt_0_d0*((2.0*d_sqr_arg_dV_b2_c2/dEdx0)));
xd = value_sqrt_0;
}
if (((model_.EXAVL)==0.0))
{

d_Weff_dV_b2_c2 = d_Weff_dV_b2_c1 = d_Weff_dV_c1_c2 =  0.0;
Weff = (model_.WAVL);
}
else
{

d_xi_w1_dV_c1_c2 = (-0.5*d_xi_w_dV_c1_c2);
d_xi_w1_dV_b2_c1 = (-0.5*d_xi_w_dV_b2_c1);
d_xi_w1_dV_b2_c2 = (-0.5*d_xi_w_dV_b2_c2);
xi_w1 = (1.0-(0.5*xi_w));

d_Weff_dV_c1_c2 = (((model_.WAVL)*xi_w1)*d_xi_w1_dV_c1_c2+(model_.WAVL)*d_xi_w1_dV_c1_c2*xi_w1);
d_Weff_dV_b2_c1 = (((model_.WAVL)*xi_w1)*d_xi_w1_dV_b2_c1+(model_.WAVL)*d_xi_w1_dV_b2_c1*xi_w1);
d_Weff_dV_b2_c2 = (((model_.WAVL)*xi_w1)*d_xi_w1_dV_b2_c2+(model_.WAVL)*d_xi_w1_dV_b2_c2*xi_w1);
Weff = (((model_.WAVL)*xi_w1)*xi_w1);
}
{
double value_sqrt_0 = sqrt(((xd*xd)+(Weff*Weff)));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_Wd_dV_c1_c2 = ((value_sqrt_0*(xd*d_Weff_dV_c1_c2+d_xd_dV_c1_c2*Weff)-(xd*Weff)*(deriv_sqrt_0_d0*(((xd*d_xd_dV_c1_c2+d_xd_dV_c1_c2*xd)+(Weff*d_Weff_dV_c1_c2+d_Weff_dV_c1_c2*Weff)))))/value_sqrt_0/value_sqrt_0);
d_Wd_dV_b2_c1 = ((value_sqrt_0*(xd*d_Weff_dV_b2_c1+d_xd_dV_b2_c1*Weff)-(xd*Weff)*(deriv_sqrt_0_d0*(((xd*d_xd_dV_b2_c1+d_xd_dV_b2_c1*xd)+(Weff*d_Weff_dV_b2_c1+d_Weff_dV_b2_c1*Weff)))))/value_sqrt_0/value_sqrt_0);
d_Wd_dV_b2_c2 = ((value_sqrt_0*(xd*d_Weff_dV_b2_c2+d_xd_dV_b2_c2*Weff)-(xd*Weff)*(deriv_sqrt_0_d0*(((xd*d_xd_dV_b2_c2+d_xd_dV_b2_c2*xd)+(Weff*d_Weff_dV_b2_c2+d_Weff_dV_b2_c2*Weff)))))/value_sqrt_0/value_sqrt_0);
Wd = ((xd*Weff)/value_sqrt_0);
}

d_Eav_dV_c1_c2 = (-(VDC_T-Vb2c1)*d_Wd_dV_c1_c2/Wd/Wd);
d_Eav_dV_b2_c2 = (-(VDC_T-Vb2c1)*d_Wd_dV_b2_c2/Wd/Wd);
d_Eav_dV_b2_c1 = ((Wd*(-d_Vb2c1_dV_b2_c1)-(VDC_T-Vb2c1)*d_Wd_dV_b2_c1)/Wd/Wd);
Eav = ((VDC_T-Vb2c1)/Wd);

d_E0_dV_c1_c2 = (d_Eav_dV_c1_c2+(((0.5*Wd)*dEdx0)*d_Icap_IHC_dV_c1_c2+0.5*d_Wd_dV_c1_c2*dEdx0*Icap_IHC));
d_E0_dV_b2_c2 = (d_Eav_dV_b2_c2+(((0.5*Wd)*dEdx0)*d_Icap_IHC_dV_b2_c2+0.5*d_Wd_dV_b2_c2*dEdx0*Icap_IHC));
d_E0_dV_b2_c1 = (d_Eav_dV_b2_c1+(((0.5*Wd)*dEdx0)*d_Icap_IHC_dV_b2_c1+0.5*d_Wd_dV_b2_c1*dEdx0*Icap_IHC));
E0 = (Eav+(((0.5*Wd)*dEdx0)*Icap_IHC));
if (((model_.EXAVL)==0))
{

d_Em_dV_c1_c2 = d_E0_dV_c1_c2;
d_Em_dV_b2_c2 = d_E0_dV_b2_c2;
d_Em_dV_b2_c1 = d_E0_dV_b2_c1;
Em = E0;
}
else
{

d_SHw_dV_c1_c2 = (2.0*(model_.SFH))*2.0*d_xi_w_dV_c1_c2;
d_SHw_dV_b2_c1 = (2.0*(model_.SFH))*2.0*d_xi_w_dV_b2_c1;
d_SHw_dV_b2_c2 = (2.0*(model_.SFH))*2.0*d_xi_w_dV_b2_c2;
SHw = (1.0+((2.0*(model_.SFH))*(1.0+(2.0*xi_w))));
Efi = ((1.0+(model_.SFH))/(1.0+(2.0*(model_.SFH))));

d_Ew_dV_c1_c2 = (d_Eav_dV_c1_c2-(((0.5*Wd)*dEdx0)*(-(((IHC_M*SHw)*d_Ic1c2_dV_c1_c2-Ic1c2*IHC_M*d_SHw_dV_c1_c2)/(IHC_M*SHw)/(IHC_M*SHw)))+0.5*d_Wd_dV_c1_c2*dEdx0*(Efi-(Ic1c2/(IHC_M*SHw)))));
d_Ew_dV_b2_c2 = (d_Eav_dV_b2_c2-(((0.5*Wd)*dEdx0)*(-(((IHC_M*SHw)*d_Ic1c2_dV_b2_c2-Ic1c2*IHC_M*d_SHw_dV_b2_c2)/(IHC_M*SHw)/(IHC_M*SHw)))+0.5*d_Wd_dV_b2_c2*dEdx0*(Efi-(Ic1c2/(IHC_M*SHw)))));
d_Ew_dV_b2_c1 = (d_Eav_dV_b2_c1-(((0.5*Wd)*dEdx0)*(-(((IHC_M*SHw)*d_Ic1c2_dV_b2_c1-Ic1c2*IHC_M*d_SHw_dV_b2_c1)/(IHC_M*SHw)/(IHC_M*SHw)))+0.5*d_Wd_dV_b2_c1*dEdx0*(Efi-(Ic1c2/(IHC_M*SHw)))));
Ew = (Eav-(((0.5*Wd)*dEdx0)*(Efi-(Ic1c2/(IHC_M*SHw)))));

d_sqr_arg_dV_c1_c2 = (((Ew-E0)*(d_Ew_dV_c1_c2-d_E0_dV_c1_c2)+(d_Ew_dV_c1_c2-d_E0_dV_c1_c2)*(Ew-E0))+((((0.1*Eav)*Eav)*d_Icap_dV_c1_c2+((0.1*Eav)*d_Eav_dV_c1_c2+0.1*d_Eav_dV_c1_c2*Eav)*Icap)/IHC_M));
d_sqr_arg_dV_b2_c2 = (((Ew-E0)*(d_Ew_dV_b2_c2-d_E0_dV_b2_c2)+(d_Ew_dV_b2_c2-d_E0_dV_b2_c2)*(Ew-E0))+((((0.1*Eav)*Eav)*d_Icap_dV_b2_c2+((0.1*Eav)*d_Eav_dV_b2_c2+0.1*d_Eav_dV_b2_c2*Eav)*Icap)/IHC_M));
d_sqr_arg_dV_b2_c1 = (((Ew-E0)*(d_Ew_dV_b2_c1-d_E0_dV_b2_c1)+(d_Ew_dV_b2_c1-d_E0_dV_b2_c1)*(Ew-E0))+((((0.1*Eav)*Eav)*d_Icap_dV_b2_c1+((0.1*Eav)*d_Eav_dV_b2_c1+0.1*d_Eav_dV_b2_c1*Eav)*Icap)/IHC_M));
sqr_arg = (((Ew-E0)*(Ew-E0))+((((0.1*Eav)*Eav)*Icap)/IHC_M));
{
double value_sqrt_0 = sqrt(sqr_arg);
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_Em_dV_c1_c2 = 0.5*((d_Ew_dV_c1_c2+d_E0_dV_c1_c2)+(deriv_sqrt_0_d0*(d_sqr_arg_dV_c1_c2)));
d_Em_dV_b2_c2 = 0.5*((d_Ew_dV_b2_c2+d_E0_dV_b2_c2)+(deriv_sqrt_0_d0*(d_sqr_arg_dV_b2_c2)));
d_Em_dV_b2_c1 = 0.5*((d_Ew_dV_b2_c1+d_E0_dV_b2_c1)+(deriv_sqrt_0_d0*(d_sqr_arg_dV_b2_c1)));
Em = (0.5*((Ew+E0)+value_sqrt_0));
}
}

d_EmEav_Em_dV_c1_c2 = ((Em*(d_Em_dV_c1_c2-d_Eav_dV_c1_c2)-(Em-Eav)*d_Em_dV_c1_c2)/Em/Em);
d_EmEav_Em_dV_b2_c2 = ((Em*(d_Em_dV_b2_c2-d_Eav_dV_b2_c2)-(Em-Eav)*d_Em_dV_b2_c2)/Em/Em);
d_EmEav_Em_dV_b2_c1 = ((Em*(d_Em_dV_b2_c1-d_Eav_dV_b2_c1)-(Em-Eav)*d_Em_dV_b2_c1)/Em/Em);
EmEav_Em = ((Em-Eav)/Em);
if ((fabs(EmEav_Em)>1.0e-7))
{

d_lambda_dV_c1_c2 = ((EmEav_Em*0.5*d_Wd_dV_c1_c2-(0.5*Wd)*d_EmEav_Em_dV_c1_c2)/EmEav_Em/EmEav_Em);
d_lambda_dV_b2_c1 = ((EmEav_Em*0.5*d_Wd_dV_b2_c1-(0.5*Wd)*d_EmEav_Em_dV_b2_c1)/EmEav_Em/EmEav_Em);
d_lambda_dV_b2_c2 = ((EmEav_Em*0.5*d_Wd_dV_b2_c2-(0.5*Wd)*d_EmEav_Em_dV_b2_c2)/EmEav_Em/EmEav_Em);
lambda = ((0.5*Wd)/EmEav_Em);
{
double value_exp_0 = exp(((-BnT)/Em));
double value_exp_1 = exp((((-BnT)/Em)*(1.0+(Weff/lambda))));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_exp_1_d0 = value_exp_1;

d_Gem_dV_c1_c2 = ((((An/BnT)*Em)*lambda)*((deriv_exp_0_d0*((-(-BnT)*d_Em_dV_c1_c2/Em/Em)))-(deriv_exp_1_d0*((((-BnT)/Em)*((lambda*d_Weff_dV_c1_c2-Weff*d_lambda_dV_c1_c2)/lambda/lambda)+(-(-BnT)*d_Em_dV_c1_c2/Em/Em)*(1.0+(Weff/lambda))))))+(((An/BnT)*Em)*d_lambda_dV_c1_c2+(An/BnT)*d_Em_dV_c1_c2*lambda)*(value_exp_0-value_exp_1));
d_Gem_dV_b2_c2 = ((((An/BnT)*Em)*lambda)*((deriv_exp_0_d0*((-(-BnT)*d_Em_dV_b2_c2/Em/Em)))-(deriv_exp_1_d0*((((-BnT)/Em)*((lambda*d_Weff_dV_b2_c2-Weff*d_lambda_dV_b2_c2)/lambda/lambda)+(-(-BnT)*d_Em_dV_b2_c2/Em/Em)*(1.0+(Weff/lambda))))))+(((An/BnT)*Em)*d_lambda_dV_b2_c2+(An/BnT)*d_Em_dV_b2_c2*lambda)*(value_exp_0-value_exp_1));
d_Gem_dV_b2_c1 = ((((An/BnT)*Em)*lambda)*((deriv_exp_0_d0*((-(-BnT)*d_Em_dV_b2_c1/Em/Em)))-(deriv_exp_1_d0*((((-BnT)/Em)*((lambda*d_Weff_dV_b2_c1-Weff*d_lambda_dV_b2_c1)/lambda/lambda)+(-(-BnT)*d_Em_dV_b2_c1/Em/Em)*(1.0+(Weff/lambda))))))+(((An/BnT)*Em)*d_lambda_dV_b2_c1+(An/BnT)*d_Em_dV_b2_c1*lambda)*(value_exp_0-value_exp_1));
Gem = ((((An/BnT)*Em)*lambda)*(value_exp_0-value_exp_1));
}
}
else
{
{
double value_exp_0 = exp(((-BnT)/Em));
double  deriv_exp_0_d0 = value_exp_0;

d_Gem_dV_c1_c2 = ((An*Weff)*(deriv_exp_0_d0*((-(-BnT)*d_Em_dV_c1_c2/Em/Em)))+An*d_Weff_dV_c1_c2*value_exp_0);
d_Gem_dV_b2_c1 = ((An*Weff)*(deriv_exp_0_d0*((-(-BnT)*d_Em_dV_b2_c1/Em/Em)))+An*d_Weff_dV_b2_c1*value_exp_0);
d_Gem_dV_b2_c2 = ((An*Weff)*(deriv_exp_0_d0*((-(-BnT)*d_Em_dV_b2_c2/Em/Em)))+An*d_Weff_dV_b2_c2*value_exp_0);
Gem = ((An*Weff)*value_exp_0);
}
}

d_Gmax_dV_b2_e1 = (((-Vt*Ic1c2*d_Rb2_dV_b2_e1/(Ic1c2*(RBC_TM+Rb2))/(Ic1c2*(RBC_TM+Rb2)))+(d_qBI_dV_b2_e1/BF_T))+(-RE_TM*d_Rb2_dV_b2_e1/(RBC_TM+Rb2)/(RBC_TM+Rb2)));
d_Gmax_dV_c3_c4 = ((-Vt*Ic1c2*d_Rb2_dV_c3_c4/(Ic1c2*(RBC_TM+Rb2))/(Ic1c2*(RBC_TM+Rb2)))+(-RE_TM*d_Rb2_dV_c3_c4/(RBC_TM+Rb2)/(RBC_TM+Rb2)));
d_Gmax_dV_c3_c1 = ((-Vt*Ic1c2*d_Rb2_dV_c3_c1/(Ic1c2*(RBC_TM+Rb2))/(Ic1c2*(RBC_TM+Rb2)))+(-RE_TM*d_Rb2_dV_c3_c1/(RBC_TM+Rb2)/(RBC_TM+Rb2)));
d_Gmax_dV_c4_c1 = ((-Vt*Ic1c2*d_Rb2_dV_c4_c1/(Ic1c2*(RBC_TM+Rb2))/(Ic1c2*(RBC_TM+Rb2)))+(-RE_TM*d_Rb2_dV_c4_c1/(RBC_TM+Rb2)/(RBC_TM+Rb2)));
d_Gmax_dV_b1_b2 = ((-Vt*Ic1c2*d_Rb2_dV_b1_b2/(Ic1c2*(RBC_TM+Rb2))/(Ic1c2*(RBC_TM+Rb2)))+(-RE_TM*d_Rb2_dV_b1_b2/(RBC_TM+Rb2)/(RBC_TM+Rb2)));
d_Gmax_dV_b_b1 = ((-Vt*Ic1c2*d_Rb2_dV_b_b1/(Ic1c2*(RBC_TM+Rb2))/(Ic1c2*(RBC_TM+Rb2)))+(-RE_TM*d_Rb2_dV_b_b1/(RBC_TM+Rb2)/(RBC_TM+Rb2)));
d_Gmax_dV_b_c = ((-Vt*Ic1c2*d_Rb2_dV_b_c/(Ic1c2*(RBC_TM+Rb2))/(Ic1c2*(RBC_TM+Rb2)))+(-RE_TM*d_Rb2_dV_b_c/(RBC_TM+Rb2)/(RBC_TM+Rb2)));
d_Gmax_dV_c1_c2 = (((-Vt*(Ic1c2*d_Rb2_dV_c1_c2+d_Ic1c2_dV_c1_c2*(RBC_TM+Rb2))/(Ic1c2*(RBC_TM+Rb2))/(Ic1c2*(RBC_TM+Rb2)))+(d_qBI_dV_c1_c2/BF_T))+(-RE_TM*d_Rb2_dV_c1_c2/(RBC_TM+Rb2)/(RBC_TM+Rb2)));
d_Gmax_dV_b2_c1 = (((-Vt*(Ic1c2*d_Rb2_dV_b2_c1+d_Ic1c2_dV_b2_c1*(RBC_TM+Rb2))/(Ic1c2*(RBC_TM+Rb2))/(Ic1c2*(RBC_TM+Rb2)))+(d_qBI_dV_b2_c1/BF_T))+(-RE_TM*d_Rb2_dV_b2_c1/(RBC_TM+Rb2)/(RBC_TM+Rb2)));
d_Gmax_dV_b2_c2 = (((-Vt*(Ic1c2*d_Rb2_dV_b2_c2+d_Ic1c2_dV_b2_c2*(RBC_TM+Rb2))/(Ic1c2*(RBC_TM+Rb2))/(Ic1c2*(RBC_TM+Rb2)))+(d_qBI_dV_b2_c2/BF_T))+(-RE_TM*d_Rb2_dV_b2_c2/(RBC_TM+Rb2)/(RBC_TM+Rb2)));
Gmax = (((Vt/(Ic1c2*(RBC_TM+Rb2)))+(qBI/BF_T))+(RE_TM/(RBC_TM+Rb2)));

d_Iavl_dV_b2_e1 = (-(Ic1c2*Gem)*(-Gem*d_Gmax_dV_b2_e1/Gmax/Gmax)/((Gem+(Gem/Gmax))+1.0)/((Gem+(Gem/Gmax))+1.0));
d_Iavl_dV_c3_c4 = (-(Ic1c2*Gem)*(-Gem*d_Gmax_dV_c3_c4/Gmax/Gmax)/((Gem+(Gem/Gmax))+1.0)/((Gem+(Gem/Gmax))+1.0));
d_Iavl_dV_c3_c1 = (-(Ic1c2*Gem)*(-Gem*d_Gmax_dV_c3_c1/Gmax/Gmax)/((Gem+(Gem/Gmax))+1.0)/((Gem+(Gem/Gmax))+1.0));
d_Iavl_dV_c4_c1 = (-(Ic1c2*Gem)*(-Gem*d_Gmax_dV_c4_c1/Gmax/Gmax)/((Gem+(Gem/Gmax))+1.0)/((Gem+(Gem/Gmax))+1.0));
d_Iavl_dV_b1_b2 = (-(Ic1c2*Gem)*(-Gem*d_Gmax_dV_b1_b2/Gmax/Gmax)/((Gem+(Gem/Gmax))+1.0)/((Gem+(Gem/Gmax))+1.0));
d_Iavl_dV_b_b1 = (-(Ic1c2*Gem)*(-Gem*d_Gmax_dV_b_b1/Gmax/Gmax)/((Gem+(Gem/Gmax))+1.0)/((Gem+(Gem/Gmax))+1.0));
d_Iavl_dV_b_c = (-(Ic1c2*Gem)*(-Gem*d_Gmax_dV_b_c/Gmax/Gmax)/((Gem+(Gem/Gmax))+1.0)/((Gem+(Gem/Gmax))+1.0));
d_Iavl_dV_c1_c2 = ((((Gem+(Gem/Gmax))+1.0)*(Ic1c2*d_Gem_dV_c1_c2+d_Ic1c2_dV_c1_c2*Gem)-(Ic1c2*Gem)*(d_Gem_dV_c1_c2+((Gmax*d_Gem_dV_c1_c2-Gem*d_Gmax_dV_c1_c2)/Gmax/Gmax)))/((Gem+(Gem/Gmax))+1.0)/((Gem+(Gem/Gmax))+1.0));
d_Iavl_dV_b2_c1 = ((((Gem+(Gem/Gmax))+1.0)*(Ic1c2*d_Gem_dV_b2_c1+d_Ic1c2_dV_b2_c1*Gem)-(Ic1c2*Gem)*(d_Gem_dV_b2_c1+((Gmax*d_Gem_dV_b2_c1-Gem*d_Gmax_dV_b2_c1)/Gmax/Gmax)))/((Gem+(Gem/Gmax))+1.0)/((Gem+(Gem/Gmax))+1.0));
d_Iavl_dV_b2_c2 = ((((Gem+(Gem/Gmax))+1.0)*(Ic1c2*d_Gem_dV_b2_c2+d_Ic1c2_dV_b2_c2*Gem)-(Ic1c2*Gem)*(d_Gem_dV_b2_c2+((Gmax*d_Gem_dV_b2_c2-Gem*d_Gmax_dV_b2_c2)/Gmax/Gmax)))/((Gem+(Gem/Gmax))+1.0)/((Gem+(Gem/Gmax))+1.0));
Iavl = ((Ic1c2*Gem)/((Gem+(Gem/Gmax))+1.0));
}
if ((eVb2c2star>0.0))
{
{
double value_log_0 = log(eVb2c2star);
double  deriv_log_0_d0 = (1.0/eVb2c2star);
Vb2c2star = (Vt*value_log_0);
}
}
else
{
Vb2c2star = Vb2c2;
}

d_Qte_dV_c1_c2 = ((1.0-(model_.XCJE))*CJE_TM)*d_Vte_dV_c1_c2;
d_Qte_dV_b2_c1 = ((1.0-(model_.XCJE))*CJE_TM)*d_Vte_dV_b2_c1;
d_Qte_dV_b2_c2 = ((1.0-(model_.XCJE))*CJE_TM)*d_Vte_dV_b2_c2;
d_Qte_dV_b2_e1 = ((1.0-(model_.XCJE))*CJE_TM)*d_Vte_dV_b2_e1;
Qte = (((1.0-(model_.XCJE))*CJE_TM)*Vte);

d_dxa_dV_s_c1 = d_dxa_dV_b_c = d_dxa_dV_b_b1 = d_dxa_dV_c3_c1 = d_dxa_dV_c3_c4 = d_dxa_dV_b1_b2 = d_dxa_dV_c4_c1 = d_dxa_dV_b2_e1 = d_dxa_dV_b2_c2 = d_dxa_dV_b2_c1 = d_dxa_dV_c1_c2 =  0.0;
d_dxa_dV_b1_e1 = (d_Vb1e1_dV_b1_e1/a_VDE);
dxa = ((Vb1e1-Vfe)/a_VDE);
if ((Vb1e1<Vfe))
{
{
double value_exp_0 = exp(dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));

d_Vje_s_dV_c1_c2 = (-a_VDE*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_c1_c2)))));
d_Vje_s_dV_b2_c1 = (-a_VDE*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_c1)))));
d_Vje_s_dV_b2_c2 = (-a_VDE*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_c2)))));
d_Vje_s_dV_b2_e1 = (-a_VDE*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_e1)))));
d_Vje_s_dV_b1_e1 = (d_Vb1e1_dV_b1_e1-a_VDE*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b1_e1)))));
Vje_s = (Vb1e1-(a_VDE*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));

d_Vje_s_dV_c1_c2 = (-a_VDE*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_c1_c2))))));
d_Vje_s_dV_b2_c1 = (-a_VDE*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_c1))))));
d_Vje_s_dV_b2_c2 = (-a_VDE*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_c2))))));
d_Vje_s_dV_b2_e1 = (-a_VDE*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_e1))))));
d_Vje_s_dV_b1_e1 = (-a_VDE*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b1_e1))))));
Vje_s = (Vfe-(a_VDE*value_log_1));
}
}

{
double value_pow_0 = pow((1.0-(Vje_s*inv_VDE_T)),(1.0-(model_.PE)));
double  deriv_pow_0_d0 = (((1.0-(Vje_s*inv_VDE_T)) == 0.0)?0.0:(value_pow_0*(1.0-(model_.PE))/(1.0-(Vje_s*inv_VDE_T))));

d_Qte_s_dV_c1_c2 = ((model_.XCJE)*CJE_TM)*((VDE_T/(1.0-(model_.PE)))*(-(deriv_pow_0_d0*((-d_Vje_s_dV_c1_c2*inv_VDE_T))))+3.0*(-d_Vje_s_dV_c1_c2));
d_Qte_s_dV_b2_c1 = ((model_.XCJE)*CJE_TM)*((VDE_T/(1.0-(model_.PE)))*(-(deriv_pow_0_d0*((-d_Vje_s_dV_b2_c1*inv_VDE_T))))+3.0*(-d_Vje_s_dV_b2_c1));
d_Qte_s_dV_b2_c2 = ((model_.XCJE)*CJE_TM)*((VDE_T/(1.0-(model_.PE)))*(-(deriv_pow_0_d0*((-d_Vje_s_dV_b2_c2*inv_VDE_T))))+3.0*(-d_Vje_s_dV_b2_c2));
d_Qte_s_dV_b2_e1 = ((model_.XCJE)*CJE_TM)*((VDE_T/(1.0-(model_.PE)))*(-(deriv_pow_0_d0*((-d_Vje_s_dV_b2_e1*inv_VDE_T))))+3.0*(-d_Vje_s_dV_b2_e1));
d_Qte_s_dV_b1_e1 = ((model_.XCJE)*CJE_TM)*((VDE_T/(1.0-(model_.PE)))*(-(deriv_pow_0_d0*((-d_Vje_s_dV_b1_e1*inv_VDE_T))))+3.0*(d_Vb1e1_dV_b1_e1-d_Vje_s_dV_b1_e1));
Qte_s = (((model_.XCJE)*CJE_TM)*(((VDE_T/(1.0-(model_.PE)))*(1.0-value_pow_0))+(3.0*(Vb1e1-Vje_s))));
}

d_Qtc_dV_b2_e1 = ((model_.XCJC)*CJC_TM)*d_Vtc_dV_b2_e1;
d_Qtc_dV_c1_c2 = ((model_.XCJC)*CJC_TM)*d_Vtc_dV_c1_c2;
d_Qtc_dV_b2_c1 = ((model_.XCJC)*CJC_TM)*d_Vtc_dV_b2_c1;
d_Qtc_dV_b2_c2 = ((model_.XCJC)*CJC_TM)*d_Vtc_dV_b2_c2;
Qtc = (((model_.XCJC)*CJC_TM)*Vtc);
Qb0 = (TAUB_T*IK_TM);

d_Qbe_qs_dV_c1_c2 = ((0.5*Qb0)*n0)*d_q1Q_dV_c1_c2;
d_Qbe_qs_dV_b2_c1 = ((0.5*Qb0)*n0)*d_q1Q_dV_b2_c1;
d_Qbe_qs_dV_b2_c2 = ((0.5*Qb0)*n0)*d_q1Q_dV_b2_c2;
d_Qbe_qs_dV_c3_c4 = ((0.5*Qb0)*n0)*d_q1Q_dV_c3_c4;
d_Qbe_qs_dV_c3_c1 = ((0.5*Qb0)*n0)*d_q1Q_dV_c3_c1;
d_Qbe_qs_dV_c4_c1 = ((0.5*Qb0)*n0)*d_q1Q_dV_c4_c1;
d_Qbe_qs_dV_b1_b2 = ((0.5*Qb0)*n0)*d_q1Q_dV_b1_b2;
d_Qbe_qs_dV_b_b1 = ((0.5*Qb0)*n0)*d_q1Q_dV_b_b1;
d_Qbe_qs_dV_b_c = ((0.5*Qb0)*n0)*d_q1Q_dV_b_c;
d_Qbe_qs_dV_b2_e1 = (((0.5*Qb0)*n0)*d_q1Q_dV_b2_e1+(0.5*Qb0)*d_n0_dV_b2_e1*q1Q);
Qbe_qs = (((0.5*Qb0)*n0)*q1Q);

d_Qbc_qs_dV_b2_e1 = ((0.5*Qb0)*nB)*d_q1Q_dV_b2_e1;
d_Qbc_qs_dV_c3_c4 = ((0.5*Qb0)*nB)*d_q1Q_dV_c3_c4;
d_Qbc_qs_dV_c3_c1 = ((0.5*Qb0)*nB)*d_q1Q_dV_c3_c1;
d_Qbc_qs_dV_c4_c1 = ((0.5*Qb0)*nB)*d_q1Q_dV_c4_c1;
d_Qbc_qs_dV_b1_b2 = ((0.5*Qb0)*nB)*d_q1Q_dV_b1_b2;
d_Qbc_qs_dV_b_b1 = ((0.5*Qb0)*nB)*d_q1Q_dV_b_b1;
d_Qbc_qs_dV_b_c = ((0.5*Qb0)*nB)*d_q1Q_dV_b_c;
d_Qbc_qs_dV_c1_c2 = (((0.5*Qb0)*nB)*d_q1Q_dV_c1_c2+(0.5*Qb0)*d_nB_dV_c1_c2*q1Q);
d_Qbc_qs_dV_b2_c1 = (((0.5*Qb0)*nB)*d_q1Q_dV_b2_c1+(0.5*Qb0)*d_nB_dV_b2_c1*q1Q);
d_Qbc_qs_dV_b2_c2 = (((0.5*Qb0)*nB)*d_q1Q_dV_b2_c2+(0.5*Qb0)*d_nB_dV_b2_c2*q1Q);
Qbc_qs = (((0.5*Qb0)*nB)*q1Q);
a_VDC = (0.1*VDC_T);

d_dxa_dV_s_c1 = d_dxa_dV_b_c = d_dxa_dV_b_b1 = d_dxa_dV_c3_c1 = d_dxa_dV_c3_c4 = d_dxa_dV_b1_e1 = d_dxa_dV_b2_e1 = d_dxa_dV_b2_c1 =  0.0;
d_dxa_dV_c4_c1 = (d_Vb1c4_dV_c4_c1/a_VDC);
d_dxa_dV_c1_c2 = (d_Vb1c4_dV_c1_c2/a_VDC);
d_dxa_dV_b2_c2 = (d_Vb1c4_dV_b2_c2/a_VDC);
d_dxa_dV_b1_b2 = (d_Vb1c4_dV_b1_b2/a_VDC);
dxa = ((Vb1c4-Vfc)/a_VDC);
if ((Vb1c4<Vfc))
{
{
double value_exp_0 = exp(dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));

d_Vjcex_dV_b2_c1 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_c1)))));
d_Vjcex_dV_b2_e1 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_e1)))));
d_Vjcex_dV_b1_e1 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b1_e1)))));
d_Vjcex_dV_c4_c1 = (d_Vb1c4_dV_c4_c1-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_c4_c1)))));
d_Vjcex_dV_c1_c2 = (d_Vb1c4_dV_c1_c2-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_c1_c2)))));
d_Vjcex_dV_b2_c2 = (d_Vb1c4_dV_b2_c2-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_c2)))));
d_Vjcex_dV_b1_b2 = (d_Vb1c4_dV_b1_b2-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b1_b2)))));
Vjcex = (Vb1c4-(a_VDC*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));

d_Vjcex_dV_c1_c2 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_c1_c2))))));
d_Vjcex_dV_b2_c1 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_c1))))));
d_Vjcex_dV_b2_c2 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_c2))))));
d_Vjcex_dV_b2_e1 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_e1))))));
d_Vjcex_dV_b1_e1 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b1_e1))))));
d_Vjcex_dV_c4_c1 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_c4_c1))))));
d_Vjcex_dV_b1_b2 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b1_b2))))));
Vjcex = (Vfc-(a_VDC*value_log_1));
}
}

{
double value_pow_0 = pow((1.0-(Vjcex/VDC_T)),(1.0-(model_.PC)));
double  deriv_pow_0_d0 = (((1.0-(Vjcex/VDC_T)) == 0.0)?0.0:(value_pow_0*(1.0-(model_.PC))/(1.0-(Vjcex/VDC_T))));

d_Vtexv_dV_b2_c1 = ((VDC_T/(1.0-(model_.PC)))*(-(deriv_pow_0_d0*((-(d_Vjcex_dV_b2_c1/VDC_T)))))+bjc*(-d_Vjcex_dV_b2_c1));
d_Vtexv_dV_b2_e1 = ((VDC_T/(1.0-(model_.PC)))*(-(deriv_pow_0_d0*((-(d_Vjcex_dV_b2_e1/VDC_T)))))+bjc*(-d_Vjcex_dV_b2_e1));
d_Vtexv_dV_b1_e1 = ((VDC_T/(1.0-(model_.PC)))*(-(deriv_pow_0_d0*((-(d_Vjcex_dV_b1_e1/VDC_T)))))+bjc*(-d_Vjcex_dV_b1_e1));
d_Vtexv_dV_c4_c1 = ((VDC_T/(1.0-(model_.PC)))*(-(deriv_pow_0_d0*((-(d_Vjcex_dV_c4_c1/VDC_T)))))+bjc*(d_Vb1c4_dV_c4_c1-d_Vjcex_dV_c4_c1));
d_Vtexv_dV_c1_c2 = ((VDC_T/(1.0-(model_.PC)))*(-(deriv_pow_0_d0*((-(d_Vjcex_dV_c1_c2/VDC_T)))))+bjc*(d_Vb1c4_dV_c1_c2-d_Vjcex_dV_c1_c2));
d_Vtexv_dV_b2_c2 = ((VDC_T/(1.0-(model_.PC)))*(-(deriv_pow_0_d0*((-(d_Vjcex_dV_b2_c2/VDC_T)))))+bjc*(d_Vb1c4_dV_b2_c2-d_Vjcex_dV_b2_c2));
d_Vtexv_dV_b1_b2 = ((VDC_T/(1.0-(model_.PC)))*(-(deriv_pow_0_d0*((-(d_Vjcex_dV_b1_b2/VDC_T)))))+bjc*(d_Vb1c4_dV_b1_b2-d_Vjcex_dV_b1_b2));
Vtexv = (((VDC_T/(1.0-(model_.PC)))*(1.0-value_pow_0))+(bjc*(Vb1c4-Vjcex)));
}

d_Qtex_dV_b2_c1 = CJC_TM*(1.0-XP_T)*d_Vtexv_dV_b2_c1*(1.0-(model_.XCJC))*(1.0-(model_.XEXT));
d_Qtex_dV_b2_e1 = CJC_TM*(1.0-XP_T)*d_Vtexv_dV_b2_e1*(1.0-(model_.XCJC))*(1.0-(model_.XEXT));
d_Qtex_dV_b1_e1 = CJC_TM*(1.0-XP_T)*d_Vtexv_dV_b1_e1*(1.0-(model_.XCJC))*(1.0-(model_.XEXT));
d_Qtex_dV_c4_c1 = CJC_TM*((1.0-XP_T)*d_Vtexv_dV_c4_c1+XP_T*d_Vb1c4_dV_c4_c1)*(1.0-(model_.XCJC))*(1.0-(model_.XEXT));
d_Qtex_dV_c1_c2 = CJC_TM*((1.0-XP_T)*d_Vtexv_dV_c1_c2+XP_T*d_Vb1c4_dV_c1_c2)*(1.0-(model_.XCJC))*(1.0-(model_.XEXT));
d_Qtex_dV_b2_c2 = CJC_TM*((1.0-XP_T)*d_Vtexv_dV_b2_c2+XP_T*d_Vb1c4_dV_b2_c2)*(1.0-(model_.XCJC))*(1.0-(model_.XEXT));
d_Qtex_dV_b1_b2 = CJC_TM*((1.0-XP_T)*d_Vtexv_dV_b1_b2+XP_T*d_Vb1c4_dV_b1_b2)*(1.0-(model_.XCJC))*(1.0-(model_.XEXT));
Qtex = (((CJC_TM*(((1.0-XP_T)*Vtexv)+(XP_T*Vb1c4)))*(1.0-(model_.XCJC)))*(1.0-(model_.XEXT)));

d_dxa_dV_s_c1 = d_dxa_dV_b1_e1 = d_dxa_dV_b2_e1 = d_dxa_dV_b2_c1 =  0.0;
d_dxa_dV_c3_c4 = (d_Vbc3_dV_c3_c4/a_VDC);
d_dxa_dV_c3_c1 = (d_Vbc3_dV_c3_c1/a_VDC);
d_dxa_dV_c4_c1 = (d_Vbc3_dV_c4_c1/a_VDC);
d_dxa_dV_c1_c2 = (d_Vbc3_dV_c1_c2/a_VDC);
d_dxa_dV_b2_c2 = (d_Vbc3_dV_b2_c2/a_VDC);
d_dxa_dV_b1_b2 = (d_Vbc3_dV_b1_b2/a_VDC);
d_dxa_dV_b_b1 = (d_Vbc3_dV_b_b1/a_VDC);
d_dxa_dV_b_c = (d_Vbc3_dV_b_c/a_VDC);
dxa = ((Vbc3-Vfc)/a_VDC);
if ((Vbc3<Vfc))
{
{
double value_exp_0 = exp(dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));

d_XVjcex_dV_b2_c1 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_c1)))));
d_XVjcex_dV_b2_e1 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_e1)))));
d_XVjcex_dV_b1_e1 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b1_e1)))));
d_XVjcex_dV_c3_c4 = (d_Vbc3_dV_c3_c4-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_c3_c4)))));
d_XVjcex_dV_c3_c1 = (d_Vbc3_dV_c3_c1-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_c3_c1)))));
d_XVjcex_dV_c4_c1 = (d_Vbc3_dV_c4_c1-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_c4_c1)))));
d_XVjcex_dV_c1_c2 = (d_Vbc3_dV_c1_c2-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_c1_c2)))));
d_XVjcex_dV_b2_c2 = (d_Vbc3_dV_b2_c2-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_c2)))));
d_XVjcex_dV_b1_b2 = (d_Vbc3_dV_b1_b2-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b1_b2)))));
d_XVjcex_dV_b_b1 = (d_Vbc3_dV_b_b1-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b_b1)))));
d_XVjcex_dV_b_c = (d_Vbc3_dV_b_c-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b_c)))));
XVjcex = (Vbc3-(a_VDC*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));

d_XVjcex_dV_c1_c2 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_c1_c2))))));
d_XVjcex_dV_b2_c1 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_c1))))));
d_XVjcex_dV_b2_c2 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_c2))))));
d_XVjcex_dV_b2_e1 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_e1))))));
d_XVjcex_dV_b1_e1 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b1_e1))))));
d_XVjcex_dV_c4_c1 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_c4_c1))))));
d_XVjcex_dV_b1_b2 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b1_b2))))));
d_XVjcex_dV_c3_c4 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_c3_c4))))));
d_XVjcex_dV_c3_c1 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_c3_c1))))));
d_XVjcex_dV_b_b1 = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b_b1))))));
d_XVjcex_dV_b_c = (-a_VDC*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b_c))))));
XVjcex = (Vfc-(a_VDC*value_log_1));
}
}

{
double value_pow_0 = pow((1.0-(XVjcex/VDC_T)),(1.0-(model_.PC)));
double  deriv_pow_0_d0 = (((1.0-(XVjcex/VDC_T)) == 0.0)?0.0:(value_pow_0*(1.0-(model_.PC))/(1.0-(XVjcex/VDC_T))));

d_XVtexv_dV_b2_c1 = ((VDC_T/(1.0-(model_.PC)))*(-(deriv_pow_0_d0*((-(d_XVjcex_dV_b2_c1/VDC_T)))))+bjc*(-d_XVjcex_dV_b2_c1));
d_XVtexv_dV_b2_e1 = ((VDC_T/(1.0-(model_.PC)))*(-(deriv_pow_0_d0*((-(d_XVjcex_dV_b2_e1/VDC_T)))))+bjc*(-d_XVjcex_dV_b2_e1));
d_XVtexv_dV_b1_e1 = ((VDC_T/(1.0-(model_.PC)))*(-(deriv_pow_0_d0*((-(d_XVjcex_dV_b1_e1/VDC_T)))))+bjc*(-d_XVjcex_dV_b1_e1));
d_XVtexv_dV_c3_c4 = ((VDC_T/(1.0-(model_.PC)))*(-(deriv_pow_0_d0*((-(d_XVjcex_dV_c3_c4/VDC_T)))))+bjc*(d_Vbc3_dV_c3_c4-d_XVjcex_dV_c3_c4));
d_XVtexv_dV_c3_c1 = ((VDC_T/(1.0-(model_.PC)))*(-(deriv_pow_0_d0*((-(d_XVjcex_dV_c3_c1/VDC_T)))))+bjc*(d_Vbc3_dV_c3_c1-d_XVjcex_dV_c3_c1));
d_XVtexv_dV_c4_c1 = ((VDC_T/(1.0-(model_.PC)))*(-(deriv_pow_0_d0*((-(d_XVjcex_dV_c4_c1/VDC_T)))))+bjc*(d_Vbc3_dV_c4_c1-d_XVjcex_dV_c4_c1));
d_XVtexv_dV_c1_c2 = ((VDC_T/(1.0-(model_.PC)))*(-(deriv_pow_0_d0*((-(d_XVjcex_dV_c1_c2/VDC_T)))))+bjc*(d_Vbc3_dV_c1_c2-d_XVjcex_dV_c1_c2));
d_XVtexv_dV_b2_c2 = ((VDC_T/(1.0-(model_.PC)))*(-(deriv_pow_0_d0*((-(d_XVjcex_dV_b2_c2/VDC_T)))))+bjc*(d_Vbc3_dV_b2_c2-d_XVjcex_dV_b2_c2));
d_XVtexv_dV_b1_b2 = ((VDC_T/(1.0-(model_.PC)))*(-(deriv_pow_0_d0*((-(d_XVjcex_dV_b1_b2/VDC_T)))))+bjc*(d_Vbc3_dV_b1_b2-d_XVjcex_dV_b1_b2));
d_XVtexv_dV_b_b1 = ((VDC_T/(1.0-(model_.PC)))*(-(deriv_pow_0_d0*((-(d_XVjcex_dV_b_b1/VDC_T)))))+bjc*(d_Vbc3_dV_b_b1-d_XVjcex_dV_b_b1));
d_XVtexv_dV_b_c = ((VDC_T/(1.0-(model_.PC)))*(-(deriv_pow_0_d0*((-(d_XVjcex_dV_b_c/VDC_T)))))+bjc*(d_Vbc3_dV_b_c-d_XVjcex_dV_b_c));
XVtexv = (((VDC_T/(1.0-(model_.PC)))*(1.0-value_pow_0))+(bjc*(Vbc3-XVjcex)));
}

d_XQtex_dV_b2_c1 = CJC_TM*(1.0-XP_T)*d_XVtexv_dV_b2_c1*(1.0-(model_.XCJC))*(model_.XEXT);
d_XQtex_dV_b2_e1 = CJC_TM*(1.0-XP_T)*d_XVtexv_dV_b2_e1*(1.0-(model_.XCJC))*(model_.XEXT);
d_XQtex_dV_b1_e1 = CJC_TM*(1.0-XP_T)*d_XVtexv_dV_b1_e1*(1.0-(model_.XCJC))*(model_.XEXT);
d_XQtex_dV_c3_c4 = CJC_TM*((1.0-XP_T)*d_XVtexv_dV_c3_c4+XP_T*d_Vbc3_dV_c3_c4)*(1.0-(model_.XCJC))*(model_.XEXT);
d_XQtex_dV_c3_c1 = CJC_TM*((1.0-XP_T)*d_XVtexv_dV_c3_c1+XP_T*d_Vbc3_dV_c3_c1)*(1.0-(model_.XCJC))*(model_.XEXT);
d_XQtex_dV_c4_c1 = CJC_TM*((1.0-XP_T)*d_XVtexv_dV_c4_c1+XP_T*d_Vbc3_dV_c4_c1)*(1.0-(model_.XCJC))*(model_.XEXT);
d_XQtex_dV_c1_c2 = CJC_TM*((1.0-XP_T)*d_XVtexv_dV_c1_c2+XP_T*d_Vbc3_dV_c1_c2)*(1.0-(model_.XCJC))*(model_.XEXT);
d_XQtex_dV_b2_c2 = CJC_TM*((1.0-XP_T)*d_XVtexv_dV_b2_c2+XP_T*d_Vbc3_dV_b2_c2)*(1.0-(model_.XCJC))*(model_.XEXT);
d_XQtex_dV_b1_b2 = CJC_TM*((1.0-XP_T)*d_XVtexv_dV_b1_b2+XP_T*d_Vbc3_dV_b1_b2)*(1.0-(model_.XCJC))*(model_.XEXT);
d_XQtex_dV_b_b1 = CJC_TM*((1.0-XP_T)*d_XVtexv_dV_b_b1+XP_T*d_Vbc3_dV_b_b1)*(1.0-(model_.XCJC))*(model_.XEXT);
d_XQtex_dV_b_c = CJC_TM*((1.0-XP_T)*d_XVtexv_dV_b_c+XP_T*d_Vbc3_dV_b_c)*(1.0-(model_.XCJC))*(model_.XEXT);
XQtex = (((CJC_TM*(((1.0-XP_T)*XVtexv)+(XP_T*Vbc3)))*(1.0-(model_.XCJC)))*(model_.XEXT));
a_VDS = (0.1*VDS_T);
{
double value_pow_0 = pow(2.0,((-1.0)/(model_.PS)));
Vfs = (VDS_T*(1.0-value_pow_0));
}

d_dxa_dV_b_c = d_dxa_dV_b_b1 = d_dxa_dV_c3_c1 = d_dxa_dV_c3_c4 = d_dxa_dV_b1_b2 = d_dxa_dV_c4_c1 = d_dxa_dV_b1_e1 = d_dxa_dV_b2_e1 = d_dxa_dV_b2_c2 = d_dxa_dV_b2_c1 = d_dxa_dV_c1_c2 =  0.0;
d_dxa_dV_s_c1 = (d_Vsc1_dV_s_c1/a_VDS);
dxa = ((Vsc1-Vfs)/a_VDS);
if ((Vsc1<Vfs))
{
{
double value_exp_0 = exp(dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));

d_Vjs_dV_c1_c2 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_c1_c2)))));
d_Vjs_dV_b2_c1 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_c1)))));
d_Vjs_dV_b2_c2 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_c2)))));
d_Vjs_dV_b2_e1 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b2_e1)))));
d_Vjs_dV_b1_e1 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b1_e1)))));
d_Vjs_dV_c4_c1 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_c4_c1)))));
d_Vjs_dV_b1_b2 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b1_b2)))));
d_Vjs_dV_c3_c4 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_c3_c4)))));
d_Vjs_dV_c3_c1 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_c3_c1)))));
d_Vjs_dV_b_b1 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b_b1)))));
d_Vjs_dV_b_c = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_b_c)))));
d_Vjs_dV_s_c1 = (d_Vsc1_dV_s_c1-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*(d_dxa_dV_s_c1)))));
Vjs = (Vsc1-(a_VDS*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));

d_Vjs_dV_c1_c2 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_c1_c2))))));
d_Vjs_dV_b2_c1 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_c1))))));
d_Vjs_dV_b2_c2 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_c2))))));
d_Vjs_dV_b2_e1 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b2_e1))))));
d_Vjs_dV_b1_e1 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b1_e1))))));
d_Vjs_dV_c4_c1 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_c4_c1))))));
d_Vjs_dV_b1_b2 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b1_b2))))));
d_Vjs_dV_c3_c4 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_c3_c4))))));
d_Vjs_dV_c3_c1 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_c3_c1))))));
d_Vjs_dV_b_b1 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b_b1))))));
d_Vjs_dV_b_c = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_b_c))))));
d_Vjs_dV_s_c1 = (-a_VDS*(deriv_log_1_d0*((deriv_exp_0_d0*((-d_dxa_dV_s_c1))))));
Vjs = (Vfs-(a_VDS*value_log_1));
}
}

{
double value_pow_0 = pow((1.0-(Vjs/VDS_T)),(1.0-(model_.PS)));
double  deriv_pow_0_d0 = (((1.0-(Vjs/VDS_T)) == 0.0)?0.0:(value_pow_0*(1.0-(model_.PS))/(1.0-(Vjs/VDS_T))));

d_Qts_dV_c1_c2 = CJS_TM*((VDS_T/(1.0-(model_.PS)))*(-(deriv_pow_0_d0*((-(d_Vjs_dV_c1_c2/VDS_T)))))+2.0*(-d_Vjs_dV_c1_c2));
d_Qts_dV_b2_c1 = CJS_TM*((VDS_T/(1.0-(model_.PS)))*(-(deriv_pow_0_d0*((-(d_Vjs_dV_b2_c1/VDS_T)))))+2.0*(-d_Vjs_dV_b2_c1));
d_Qts_dV_b2_c2 = CJS_TM*((VDS_T/(1.0-(model_.PS)))*(-(deriv_pow_0_d0*((-(d_Vjs_dV_b2_c2/VDS_T)))))+2.0*(-d_Vjs_dV_b2_c2));
d_Qts_dV_b2_e1 = CJS_TM*((VDS_T/(1.0-(model_.PS)))*(-(deriv_pow_0_d0*((-(d_Vjs_dV_b2_e1/VDS_T)))))+2.0*(-d_Vjs_dV_b2_e1));
d_Qts_dV_b1_e1 = CJS_TM*((VDS_T/(1.0-(model_.PS)))*(-(deriv_pow_0_d0*((-(d_Vjs_dV_b1_e1/VDS_T)))))+2.0*(-d_Vjs_dV_b1_e1));
d_Qts_dV_c4_c1 = CJS_TM*((VDS_T/(1.0-(model_.PS)))*(-(deriv_pow_0_d0*((-(d_Vjs_dV_c4_c1/VDS_T)))))+2.0*(-d_Vjs_dV_c4_c1));
d_Qts_dV_b1_b2 = CJS_TM*((VDS_T/(1.0-(model_.PS)))*(-(deriv_pow_0_d0*((-(d_Vjs_dV_b1_b2/VDS_T)))))+2.0*(-d_Vjs_dV_b1_b2));
d_Qts_dV_c3_c4 = CJS_TM*((VDS_T/(1.0-(model_.PS)))*(-(deriv_pow_0_d0*((-(d_Vjs_dV_c3_c4/VDS_T)))))+2.0*(-d_Vjs_dV_c3_c4));
d_Qts_dV_c3_c1 = CJS_TM*((VDS_T/(1.0-(model_.PS)))*(-(deriv_pow_0_d0*((-(d_Vjs_dV_c3_c1/VDS_T)))))+2.0*(-d_Vjs_dV_c3_c1));
d_Qts_dV_b_b1 = CJS_TM*((VDS_T/(1.0-(model_.PS)))*(-(deriv_pow_0_d0*((-(d_Vjs_dV_b_b1/VDS_T)))))+2.0*(-d_Vjs_dV_b_b1));
d_Qts_dV_b_c = CJS_TM*((VDS_T/(1.0-(model_.PS)))*(-(deriv_pow_0_d0*((-(d_Vjs_dV_b_c/VDS_T)))))+2.0*(-d_Vjs_dV_b_c));
d_Qts_dV_s_c1 = CJS_TM*((VDS_T/(1.0-(model_.PS)))*(-(deriv_pow_0_d0*((-(d_Vjs_dV_s_c1/VDS_T)))))+2.0*(d_Vsc1_dV_s_c1-d_Vjs_dV_s_c1));
Qts = (CJS_TM*(((VDS_T/(1.0-(model_.PS)))*(1.0-value_pow_0))+(2.0*(Vsc1-Vjs))));
}
{
double value_pow_0 = pow((IS_TM/IK_TM),(1.0/(model_.MTAU)));
Qe0 = ((TAUE_T*IK_TM)*value_pow_0);
}
if (((Vb2e1/((model_.MTAU)*Vt))<400.0))
{
{
double value_exp_0 = exp((Vb2e1/((model_.MTAU)*Vt)));
double  deriv_exp_0_d0 = value_exp_0;

d_tmpExp_dV_b1_b2 = d_tmpExp_dV_b2_c2 = d_tmpExp_dV_c1_c2 = d_tmpExp_dV_c4_c1 =  0.0;
d_tmpExp_dV_b2_e1 = (deriv_exp_0_d0*((d_Vb2e1_dV_b2_e1/((model_.MTAU)*Vt))));
tmpExp = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}

d_tmpExp_dV_b1_b2 = d_tmpExp_dV_b2_c2 = d_tmpExp_dV_c1_c2 = d_tmpExp_dV_c4_c1 =  0.0;
d_tmpExp_dV_b2_e1 = expl*(d_Vb2e1_dV_b2_e1/((model_.MTAU)*Vt));
tmpExp = (expl*(1.0+((Vb2e1/((model_.MTAU)*Vt))-400.0)));
}

d_Qe_qs_dV_b2_e1 = Qe0*d_tmpExp_dV_b2_e1;
d_Qe_qs_dV_c4_c1 = Qe0*d_tmpExp_dV_c4_c1;
d_Qe_qs_dV_c1_c2 = Qe0*d_tmpExp_dV_c1_c2;
d_Qe_qs_dV_b2_c2 = Qe0*d_tmpExp_dV_b2_c2;
d_Qe_qs_dV_b1_b2 = Qe0*d_tmpExp_dV_b1_b2;
Qe_qs = (Qe0*tmpExp);
Qepi0 = (((4.0*TEPI_T)*Vt)/RCV_TM);

d_Qepi_dV_c1_c2 = (((0.5*Qepi0)*xi_w)*d_p0star_dV_c1_c2+(0.5*Qepi0)*d_xi_w_dV_c1_c2*((p0star+pW)+2.0));
d_Qepi_dV_b2_c1 = (((0.5*Qepi0)*xi_w)*(d_p0star_dV_b2_c1+d_pW_dV_b2_c1)+(0.5*Qepi0)*d_xi_w_dV_b2_c1*((p0star+pW)+2.0));
d_Qepi_dV_b2_c2 = (((0.5*Qepi0)*xi_w)*d_p0star_dV_b2_c2+(0.5*Qepi0)*d_xi_w_dV_b2_c2*((p0star+pW)+2.0));
Qepi = (((0.5*Qepi0)*xi_w)*((p0star+pW)+2.0));

d_Qex_dV_c4_c1 = ((TAUR_T*0.5)*(Qb0*d_nBex_dV_c4_c1+Qepi0*d_pWex_dV_c4_c1)/(TAUB_T+TEPI_T));
d_Qex_dV_c1_c2 = ((TAUR_T*0.5)*(Qb0*d_nBex_dV_c1_c2+Qepi0*d_pWex_dV_c1_c2)/(TAUB_T+TEPI_T));
d_Qex_dV_b2_c2 = ((TAUR_T*0.5)*(Qb0*d_nBex_dV_b2_c2+Qepi0*d_pWex_dV_b2_c2)/(TAUB_T+TEPI_T));
d_Qex_dV_b1_b2 = ((TAUR_T*0.5)*(Qb0*d_nBex_dV_b1_b2+Qepi0*d_pWex_dV_b1_b2)/(TAUB_T+TEPI_T));
Qex = (((TAUR_T*0.5)*((Qb0*nBex)+(Qepi0*pWex)))/(TAUB_T+TEPI_T));

d_XQex_dV_b_c = d_XQex_dV_b_b1 = d_XQex_dV_b1_b2 = d_XQex_dV_c4_c1 = d_XQex_dV_c3_c1 = d_XQex_dV_c3_c4 = d_XQex_dV_b2_e1 = d_XQex_dV_b2_c2 = d_XQex_dV_b2_c1 = d_XQex_dV_c1_c2 = d_XQex_dV_s_c1 =  0.0;
XQex = 0.0;
if (((model_.EXMOD)==1))
{

d_Qex_dV_c4_c1 = d_Qex_dV_c4_c1*(1.0-(model_.XEXT));
d_Qex_dV_c1_c2 = d_Qex_dV_c1_c2*(1.0-(model_.XEXT));
d_Qex_dV_b2_c2 = d_Qex_dV_b2_c2*(1.0-(model_.XEXT));
d_Qex_dV_b1_b2 = d_Qex_dV_b1_b2*(1.0-(model_.XEXT));
Qex = (Qex*(1.0-(model_.XEXT)));

d_Xg2_dV_c3_c4 = 4.0*d_eVbc3VDC_dV_c3_c4;
d_Xg2_dV_c3_c1 = 4.0*d_eVbc3VDC_dV_c3_c1;
d_Xg2_dV_c4_c1 = 4.0*d_eVbc3VDC_dV_c4_c1;
d_Xg2_dV_c1_c2 = 4.0*d_eVbc3VDC_dV_c1_c2;
d_Xg2_dV_b2_c2 = 4.0*d_eVbc3VDC_dV_b2_c2;
d_Xg2_dV_b1_b2 = 4.0*d_eVbc3VDC_dV_b1_b2;
d_Xg2_dV_b_b1 = 4.0*d_eVbc3VDC_dV_b_b1;
d_Xg2_dV_b_c = 4.0*d_eVbc3VDC_dV_b_c;
Xg2 = (4.0*eVbc3VDC);
{
double value_sqrt_0 = sqrt((1.0+Xg2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_XpWex_dV_c3_c4 = (((1.0+value_sqrt_0)*d_Xg2_dV_c3_c4-Xg2*(deriv_sqrt_0_d0*(d_Xg2_dV_c3_c4)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XpWex_dV_c3_c1 = (((1.0+value_sqrt_0)*d_Xg2_dV_c3_c1-Xg2*(deriv_sqrt_0_d0*(d_Xg2_dV_c3_c1)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XpWex_dV_c4_c1 = (((1.0+value_sqrt_0)*d_Xg2_dV_c4_c1-Xg2*(deriv_sqrt_0_d0*(d_Xg2_dV_c4_c1)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XpWex_dV_c1_c2 = (((1.0+value_sqrt_0)*d_Xg2_dV_c1_c2-Xg2*(deriv_sqrt_0_d0*(d_Xg2_dV_c1_c2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XpWex_dV_b2_c2 = (((1.0+value_sqrt_0)*d_Xg2_dV_b2_c2-Xg2*(deriv_sqrt_0_d0*(d_Xg2_dV_b2_c2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XpWex_dV_b1_b2 = (((1.0+value_sqrt_0)*d_Xg2_dV_b1_b2-Xg2*(deriv_sqrt_0_d0*(d_Xg2_dV_b1_b2)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XpWex_dV_b_b1 = (((1.0+value_sqrt_0)*d_Xg2_dV_b_b1-Xg2*(deriv_sqrt_0_d0*(d_Xg2_dV_b_b1)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
d_XpWex_dV_b_c = (((1.0+value_sqrt_0)*d_Xg2_dV_b_c-Xg2*(deriv_sqrt_0_d0*(d_Xg2_dV_b_c)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
XpWex = (Xg2/(1.0+value_sqrt_0));
}

d_XQex_dV_s_c1 = (0.5*d_Fex_dV_s_c1*(model_.XEXT)*TAUR_T*((Qb0*XnBex)+(Qepi0*XpWex))/(TAUB_T+TEPI_T));
d_XQex_dV_c1_c2 = (((((0.5*Fex)*(model_.XEXT))*TAUR_T)*(Qb0*d_XnBex_dV_c1_c2+Qepi0*d_XpWex_dV_c1_c2)+0.5*d_Fex_dV_c1_c2*(model_.XEXT)*TAUR_T*((Qb0*XnBex)+(Qepi0*XpWex)))/(TAUB_T+TEPI_T));
d_XQex_dV_b2_c1 = (0.5*d_Fex_dV_b2_c1*(model_.XEXT)*TAUR_T*((Qb0*XnBex)+(Qepi0*XpWex))/(TAUB_T+TEPI_T));
d_XQex_dV_b2_c2 = (((((0.5*Fex)*(model_.XEXT))*TAUR_T)*(Qb0*d_XnBex_dV_b2_c2+Qepi0*d_XpWex_dV_b2_c2)+0.5*d_Fex_dV_b2_c2*(model_.XEXT)*TAUR_T*((Qb0*XnBex)+(Qepi0*XpWex)))/(TAUB_T+TEPI_T));
d_XQex_dV_b2_e1 = (0.5*d_Fex_dV_b2_e1*(model_.XEXT)*TAUR_T*((Qb0*XnBex)+(Qepi0*XpWex))/(TAUB_T+TEPI_T));
d_XQex_dV_c3_c4 = (((((0.5*Fex)*(model_.XEXT))*TAUR_T)*(Qb0*d_XnBex_dV_c3_c4+Qepi0*d_XpWex_dV_c3_c4)+0.5*d_Fex_dV_c3_c4*(model_.XEXT)*TAUR_T*((Qb0*XnBex)+(Qepi0*XpWex)))/(TAUB_T+TEPI_T));
d_XQex_dV_c3_c1 = (((((0.5*Fex)*(model_.XEXT))*TAUR_T)*(Qb0*d_XnBex_dV_c3_c1+Qepi0*d_XpWex_dV_c3_c1)+0.5*d_Fex_dV_c3_c1*(model_.XEXT)*TAUR_T*((Qb0*XnBex)+(Qepi0*XpWex)))/(TAUB_T+TEPI_T));
d_XQex_dV_c4_c1 = (((((0.5*Fex)*(model_.XEXT))*TAUR_T)*(Qb0*d_XnBex_dV_c4_c1+Qepi0*d_XpWex_dV_c4_c1)+0.5*d_Fex_dV_c4_c1*(model_.XEXT)*TAUR_T*((Qb0*XnBex)+(Qepi0*XpWex)))/(TAUB_T+TEPI_T));
d_XQex_dV_b1_b2 = (((((0.5*Fex)*(model_.XEXT))*TAUR_T)*(Qb0*d_XnBex_dV_b1_b2+Qepi0*d_XpWex_dV_b1_b2)+0.5*d_Fex_dV_b1_b2*(model_.XEXT)*TAUR_T*((Qb0*XnBex)+(Qepi0*XpWex)))/(TAUB_T+TEPI_T));
d_XQex_dV_b_b1 = (((((0.5*Fex)*(model_.XEXT))*TAUR_T)*(Qb0*d_XnBex_dV_b_b1+Qepi0*d_XpWex_dV_b_b1)+0.5*d_Fex_dV_b_b1*(model_.XEXT)*TAUR_T*((Qb0*XnBex)+(Qepi0*XpWex)))/(TAUB_T+TEPI_T));
d_XQex_dV_b_c = (((((0.5*Fex)*(model_.XEXT))*TAUR_T)*(Qb0*d_XnBex_dV_b_c+Qepi0*d_XpWex_dV_b_c)+0.5*d_Fex_dV_b_c*(model_.XEXT)*TAUR_T*((Qb0*XnBex)+(Qepi0*XpWex)))/(TAUB_T+TEPI_T));
XQex = (((((0.5*Fex)*(model_.XEXT))*TAUR_T)*((Qb0*XnBex)+(Qepi0*XpWex)))/(TAUB_T+TEPI_T));
}

d_Qb1b2_dV_b1_b2 = d_Qb1b2_dV_b2_e1 = d_Qb1b2_dV_b2_c2 = d_Qb1b2_dV_b2_c1 = d_Qb1b2_dV_c1_c2 = d_Qb1b2_dV_b_c = d_Qb1b2_dV_b_b1 = d_Qb1b2_dV_c4_c1 = d_Qb1b2_dV_c3_c1 = d_Qb1b2_dV_c3_c4 =  0.0;
Qb1b2 = 0.0;
if (((model_.EXPHI)==1))
{
{
double value_pow_0 = pow((1.0-(Vje*inv_VDE_T)),(-(model_.PE)));
double  deriv_pow_0_d0 = (((1.0-(Vje*inv_VDE_T)) == 0.0)?0.0:(value_pow_0*(-(model_.PE))/(1.0-(Vje*inv_VDE_T))));

d_dVteVje_dV_c1_c2 = (deriv_pow_0_d0*((-d_Vje_dV_c1_c2*inv_VDE_T)));
d_dVteVje_dV_b2_c1 = (deriv_pow_0_d0*((-d_Vje_dV_b2_c1*inv_VDE_T)));
d_dVteVje_dV_b2_c2 = (deriv_pow_0_d0*((-d_Vje_dV_b2_c2*inv_VDE_T)));
d_dVteVje_dV_b2_e1 = (deriv_pow_0_d0*((-d_Vje_dV_b2_e1*inv_VDE_T)));
dVteVje = (value_pow_0-3.0);
}

d_Vb2e1Vfe_dV_b2_e1 = (d_Vb2e1_dV_b2_e1/a_VDE);
Vb2e1Vfe = ((Vb2e1-Vfe)/a_VDE);
if ((Vb2e1Vfe<0.0))
{
{
double value_exp_0 = exp(Vb2e1Vfe);
double  deriv_exp_0_d0 = value_exp_0;

d_dVjeVb2e1_dV_b2_e1 = (-(deriv_exp_0_d0*(d_Vb2e1Vfe_dV_b2_e1))/(1.0+value_exp_0)/(1.0+value_exp_0));
dVjeVb2e1 = (1.0/(1.0+value_exp_0));
}
}
else
{
{
double value_exp_0 = exp((-Vb2e1Vfe));
double value_exp_1 = exp((-Vb2e1Vfe));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_exp_1_d0 = value_exp_1;

d_dVjeVb2e1_dV_b2_e1 = (((1.0+value_exp_1)*(deriv_exp_0_d0*((-d_Vb2e1Vfe_dV_b2_e1)))-value_exp_0*(deriv_exp_1_d0*((-d_Vb2e1Vfe_dV_b2_e1))))/(1.0+value_exp_1)/(1.0+value_exp_1));
dVjeVb2e1 = (value_exp_0/(1.0+value_exp_1));
}
}

d_dVteVb2e1_dV_c1_c2 = d_dVteVje_dV_c1_c2*dVjeVb2e1;
d_dVteVb2e1_dV_b2_c1 = d_dVteVje_dV_b2_c1*dVjeVb2e1;
d_dVteVb2e1_dV_b2_c2 = d_dVteVje_dV_b2_c2*dVjeVb2e1;
d_dVteVb2e1_dV_b2_e1 = (dVteVje*d_dVjeVb2e1_dV_b2_e1+d_dVteVje_dV_b2_e1*dVjeVb2e1);
dVteVb2e1 = ((dVteVje*dVjeVb2e1)+3.0);

d_dQteVb2e1_dV_c1_c2 = ((1.0-(model_.XCJE))*CJE_TM)*d_dVteVb2e1_dV_c1_c2;
d_dQteVb2e1_dV_b2_c1 = ((1.0-(model_.XCJE))*CJE_TM)*d_dVteVb2e1_dV_b2_c1;
d_dQteVb2e1_dV_b2_c2 = ((1.0-(model_.XCJE))*CJE_TM)*d_dVteVb2e1_dV_b2_c2;
d_dQteVb2e1_dV_b2_e1 = ((1.0-(model_.XCJE))*CJE_TM)*d_dVteVb2e1_dV_b2_e1;
dQteVb2e1 = (((1.0-(model_.XCJE))*CJE_TM)*dVteVb2e1);
{
double value_sqrt_0 = sqrt((1.0+f1));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);

d_dn0Vb2e1_dV_b2_e1 = (((If0*eVb2e1)*VtINV)*(-0.5*(deriv_sqrt_0_d0*(d_f1_dV_b2_e1))/value_sqrt_0/value_sqrt_0)+If0*d_eVb2e1_dV_b2_e1*VtINV*(0.5/value_sqrt_0));
dn0Vb2e1 = (((If0*eVb2e1)*VtINV)*(0.5/value_sqrt_0));
}

d_dQbeVb2e1_dV_c1_c2 = (0.5*Qb0)*d_q1Q_dV_c1_c2*dn0Vb2e1;
d_dQbeVb2e1_dV_b2_c1 = (0.5*Qb0)*d_q1Q_dV_b2_c1*dn0Vb2e1;
d_dQbeVb2e1_dV_b2_c2 = (0.5*Qb0)*d_q1Q_dV_b2_c2*dn0Vb2e1;
d_dQbeVb2e1_dV_b2_e1 = (((0.5*Qb0)*q1Q)*d_dn0Vb2e1_dV_b2_e1+(0.5*Qb0)*d_q1Q_dV_b2_e1*dn0Vb2e1);
d_dQbeVb2e1_dV_c3_c4 = (0.5*Qb0)*d_q1Q_dV_c3_c4*dn0Vb2e1;
d_dQbeVb2e1_dV_c3_c1 = (0.5*Qb0)*d_q1Q_dV_c3_c1*dn0Vb2e1;
d_dQbeVb2e1_dV_c4_c1 = (0.5*Qb0)*d_q1Q_dV_c4_c1*dn0Vb2e1;
d_dQbeVb2e1_dV_b1_b2 = (0.5*Qb0)*d_q1Q_dV_b1_b2*dn0Vb2e1;
d_dQbeVb2e1_dV_b_b1 = (0.5*Qb0)*d_q1Q_dV_b_b1*dn0Vb2e1;
d_dQbeVb2e1_dV_b_c = (0.5*Qb0)*d_q1Q_dV_b_c*dn0Vb2e1;
dQbeVb2e1 = (((0.5*Qb0)*q1Q)*dn0Vb2e1);

d_dQeVb2e1_dV_b2_e1 = (d_Qe_qs_dV_b2_e1/((model_.MTAU)*Vt));
d_dQeVb2e1_dV_c4_c1 = (d_Qe_qs_dV_c4_c1/((model_.MTAU)*Vt));
d_dQeVb2e1_dV_c1_c2 = (d_Qe_qs_dV_c1_c2/((model_.MTAU)*Vt));
d_dQeVb2e1_dV_b2_c2 = (d_Qe_qs_dV_b2_c2/((model_.MTAU)*Vt));
d_dQeVb2e1_dV_b1_b2 = (d_Qe_qs_dV_b1_b2/((model_.MTAU)*Vt));
dQeVb2e1 = (Qe_qs/((model_.MTAU)*Vt));

d_Qb1b2_dV_c3_c4 = (0.2*Vb1b2)*d_dQbeVb2e1_dV_c3_c4;
d_Qb1b2_dV_c3_c1 = (0.2*Vb1b2)*d_dQbeVb2e1_dV_c3_c1;
d_Qb1b2_dV_c4_c1 = (0.2*Vb1b2)*(d_dQbeVb2e1_dV_c4_c1+d_dQeVb2e1_dV_c4_c1);
d_Qb1b2_dV_b_b1 = (0.2*Vb1b2)*d_dQbeVb2e1_dV_b_b1;
d_Qb1b2_dV_b_c = (0.2*Vb1b2)*d_dQbeVb2e1_dV_b_c;
d_Qb1b2_dV_c1_c2 = (0.2*Vb1b2)*((d_dQteVb2e1_dV_c1_c2+d_dQbeVb2e1_dV_c1_c2)+d_dQeVb2e1_dV_c1_c2);
d_Qb1b2_dV_b2_c1 = (0.2*Vb1b2)*(d_dQteVb2e1_dV_b2_c1+d_dQbeVb2e1_dV_b2_c1);
d_Qb1b2_dV_b2_c2 = (0.2*Vb1b2)*((d_dQteVb2e1_dV_b2_c2+d_dQbeVb2e1_dV_b2_c2)+d_dQeVb2e1_dV_b2_c2);
d_Qb1b2_dV_b2_e1 = (0.2*Vb1b2)*((d_dQteVb2e1_dV_b2_e1+d_dQbeVb2e1_dV_b2_e1)+d_dQeVb2e1_dV_b2_e1);
d_Qb1b2_dV_b1_b2 = ((0.2*Vb1b2)*(d_dQbeVb2e1_dV_b1_b2+d_dQeVb2e1_dV_b1_b2)+0.2*d_Vb1b2_dV_b1_b2*((dQteVb2e1+dQbeVb2e1)+dQeVb2e1));
Qb1b2 = ((0.2*Vb1b2)*((dQteVb2e1+dQbeVb2e1)+dQeVb2e1));

d_Qe_dV_b2_e1 = (1-(model_.KE))*d_Qe_qs_dV_b2_e1;
d_Qe_dV_c4_c1 = (1-(model_.KE))*d_Qe_qs_dV_c4_c1;
d_Qe_dV_c1_c2 = (1-(model_.KE))*d_Qe_qs_dV_c1_c2;
d_Qe_dV_b2_c2 = (1-(model_.KE))*d_Qe_qs_dV_b2_c2;
d_Qe_dV_b1_b2 = (1-(model_.KE))*d_Qe_qs_dV_b1_b2;
Qe = ((1-(model_.KE))*Qe_qs);

d_Qbe_qs_eff_dV_c1_c2 = (d_Qbe_qs_dV_c1_c2+(model_.KE)*d_Qe_qs_dV_c1_c2);
d_Qbe_qs_eff_dV_b2_c1 = d_Qbe_qs_dV_b2_c1;
d_Qbe_qs_eff_dV_b2_c2 = (d_Qbe_qs_dV_b2_c2+(model_.KE)*d_Qe_qs_dV_b2_c2);
d_Qbe_qs_eff_dV_c3_c4 = d_Qbe_qs_dV_c3_c4;
d_Qbe_qs_eff_dV_c3_c1 = d_Qbe_qs_dV_c3_c1;
d_Qbe_qs_eff_dV_c4_c1 = (d_Qbe_qs_dV_c4_c1+(model_.KE)*d_Qe_qs_dV_c4_c1);
d_Qbe_qs_eff_dV_b1_b2 = (d_Qbe_qs_dV_b1_b2+(model_.KE)*d_Qe_qs_dV_b1_b2);
d_Qbe_qs_eff_dV_b_b1 = d_Qbe_qs_dV_b_b1;
d_Qbe_qs_eff_dV_b_c = d_Qbe_qs_dV_b_c;
d_Qbe_qs_eff_dV_b2_e1 = (d_Qbe_qs_dV_b2_e1+(model_.KE)*d_Qe_qs_dV_b2_e1);
Qbe_qs_eff = (Qbe_qs+((model_.KE)*Qe_qs));

d_Qbc_dV_c1_c2 = ((model_.XQB)*d_Qbe_qs_eff_dV_c1_c2+d_Qbc_qs_dV_c1_c2);
d_Qbc_dV_b2_c1 = ((model_.XQB)*d_Qbe_qs_eff_dV_b2_c1+d_Qbc_qs_dV_b2_c1);
d_Qbc_dV_b2_c2 = ((model_.XQB)*d_Qbe_qs_eff_dV_b2_c2+d_Qbc_qs_dV_b2_c2);
d_Qbc_dV_c3_c4 = ((model_.XQB)*d_Qbe_qs_eff_dV_c3_c4+d_Qbc_qs_dV_c3_c4);
d_Qbc_dV_c3_c1 = ((model_.XQB)*d_Qbe_qs_eff_dV_c3_c1+d_Qbc_qs_dV_c3_c1);
d_Qbc_dV_c4_c1 = ((model_.XQB)*d_Qbe_qs_eff_dV_c4_c1+d_Qbc_qs_dV_c4_c1);
d_Qbc_dV_b1_b2 = ((model_.XQB)*d_Qbe_qs_eff_dV_b1_b2+d_Qbc_qs_dV_b1_b2);
d_Qbc_dV_b_b1 = ((model_.XQB)*d_Qbe_qs_eff_dV_b_b1+d_Qbc_qs_dV_b_b1);
d_Qbc_dV_b_c = ((model_.XQB)*d_Qbe_qs_eff_dV_b_c+d_Qbc_qs_dV_b_c);
d_Qbc_dV_b2_e1 = ((model_.XQB)*d_Qbe_qs_eff_dV_b2_e1+d_Qbc_qs_dV_b2_e1);
Qbc = (((model_.XQB)*Qbe_qs_eff)+Qbc_qs);

d_Qbe_dV_c1_c2 = (1-(model_.XQB))*d_Qbe_qs_eff_dV_c1_c2;
d_Qbe_dV_b2_c1 = (1-(model_.XQB))*d_Qbe_qs_eff_dV_b2_c1;
d_Qbe_dV_b2_c2 = (1-(model_.XQB))*d_Qbe_qs_eff_dV_b2_c2;
d_Qbe_dV_c3_c4 = (1-(model_.XQB))*d_Qbe_qs_eff_dV_c3_c4;
d_Qbe_dV_c3_c1 = (1-(model_.XQB))*d_Qbe_qs_eff_dV_c3_c1;
d_Qbe_dV_c4_c1 = (1-(model_.XQB))*d_Qbe_qs_eff_dV_c4_c1;
d_Qbe_dV_b1_b2 = (1-(model_.XQB))*d_Qbe_qs_eff_dV_b1_b2;
d_Qbe_dV_b_b1 = (1-(model_.XQB))*d_Qbe_qs_eff_dV_b_b1;
d_Qbe_dV_b_c = (1-(model_.XQB))*d_Qbe_qs_eff_dV_b_c;
d_Qbe_dV_b2_e1 = (1-(model_.XQB))*d_Qbe_qs_eff_dV_b2_e1;
Qbe = ((1-(model_.XQB))*Qbe_qs_eff);
}
else
{

d_Qbe_dV_c1_c2 = d_Qbe_qs_dV_c1_c2;
d_Qbe_dV_b2_c1 = d_Qbe_qs_dV_b2_c1;
d_Qbe_dV_b2_c2 = d_Qbe_qs_dV_b2_c2;
d_Qbe_dV_c3_c4 = d_Qbe_qs_dV_c3_c4;
d_Qbe_dV_c3_c1 = d_Qbe_qs_dV_c3_c1;
d_Qbe_dV_c4_c1 = d_Qbe_qs_dV_c4_c1;
d_Qbe_dV_b1_b2 = d_Qbe_qs_dV_b1_b2;
d_Qbe_dV_b_b1 = d_Qbe_qs_dV_b_b1;
d_Qbe_dV_b_c = d_Qbe_qs_dV_b_c;
d_Qbe_dV_b2_e1 = d_Qbe_qs_dV_b2_e1;
Qbe = Qbe_qs;

d_Qbc_dV_b2_e1 = d_Qbc_qs_dV_b2_e1;
d_Qbc_dV_c3_c4 = d_Qbc_qs_dV_c3_c4;
d_Qbc_dV_c3_c1 = d_Qbc_qs_dV_c3_c1;
d_Qbc_dV_c4_c1 = d_Qbc_qs_dV_c4_c1;
d_Qbc_dV_b1_b2 = d_Qbc_qs_dV_b1_b2;
d_Qbc_dV_b_b1 = d_Qbc_qs_dV_b_b1;
d_Qbc_dV_b_c = d_Qbc_qs_dV_b_c;
d_Qbc_dV_c1_c2 = d_Qbc_qs_dV_c1_c2;
d_Qbc_dV_b2_c1 = d_Qbc_qs_dV_b2_c1;
d_Qbc_dV_b2_c2 = d_Qbc_qs_dV_b2_c2;
Qbc = Qbc_qs;

d_Qe_dV_b2_e1 = d_Qe_qs_dV_b2_e1;
d_Qe_dV_c4_c1 = d_Qe_qs_dV_c4_c1;
d_Qe_dV_c1_c2 = d_Qe_qs_dV_c1_c2;
d_Qe_dV_b2_c2 = d_Qe_qs_dV_b2_c2;
d_Qe_dV_b1_b2 = d_Qe_qs_dV_b1_b2;
Qe = Qe_qs;
}
// I(c1,c2) <+ ((TYPE*Ic1c2))
{
double contribTemp;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_c2;
contribTemp= ((model_.TYPE)*Ic1c2);
d_contribTemp_dV_c1_c2 = (model_.TYPE)*d_Ic1c2_dV_c1_c2;
d_contribTemp_dV_b2_c1 = (model_.TYPE)*d_Ic1c2_dV_b2_c1;
d_contribTemp_dV_b2_c2 = (model_.TYPE)*d_Ic1c2_dV_b2_c2;
staticContributions[admsNodeID_c1] += contribTemp;
d_staticContributions[admsNodeID_c1][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
staticContributions[admsNodeID_c2] -= contribTemp;
d_staticContributions[admsNodeID_c2][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;

Jdxp_static[admsNodeID_c1] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2];
Jdxp_static[admsNodeID_c2] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2];
}
// I(c2,e1) <+ ((TYPE*In))
{
double contribTemp;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b2_e1;
contribTemp= ((model_.TYPE)*In);
d_contribTemp_dV_c1_c2 = (model_.TYPE)*d_In_dV_c1_c2;
d_contribTemp_dV_b2_c1 = (model_.TYPE)*d_In_dV_b2_c1;
d_contribTemp_dV_b2_c2 = (model_.TYPE)*d_In_dV_b2_c2;
d_contribTemp_dV_b2_e1 = (model_.TYPE)*d_In_dV_b2_e1;
staticContributions[admsNodeID_c2] += contribTemp;
d_staticContributions[admsNodeID_c2][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
staticContributions[admsNodeID_e1] -= contribTemp;
d_staticContributions[admsNodeID_e1][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;

Jdxp_static[admsNodeID_c2] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2];
Jdxp_static[admsNodeID_e1] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2];
}
// I(b1,e1) <+ ((TYPE*Ib1_s))
{
double contribTemp;
double d_contribTemp_dV_b1_e1;
contribTemp= ((model_.TYPE)*Ib1_s);
d_contribTemp_dV_b1_e1 = (model_.TYPE)*d_Ib1_s_dV_b1_e1;
staticContributions[admsNodeID_b1] += contribTemp;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b1_e1] += d_contribTemp_dV_b1_e1;
staticContributions[admsNodeID_e1] -= contribTemp;
d_staticContributions[admsNodeID_e1][admsProbeID_V_b1_e1] -= d_contribTemp_dV_b1_e1;

Jdxp_static[admsNodeID_b1] += d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1];
Jdxp_static[admsNodeID_e1] -= d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1];
}
// I(b2,e1) <+ ((TYPE*((Ib1+Ib2)-Izteb)))
{
double contribTemp;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_c2;
contribTemp= ((model_.TYPE)*((Ib1+Ib2)-Izteb));
d_contribTemp_dV_b2_e1 = (model_.TYPE)*((d_Ib1_dV_b2_e1+d_Ib2_dV_b2_e1)-d_Izteb_dV_b2_e1);
d_contribTemp_dV_c1_c2 = (model_.TYPE)*(d_Ib1_dV_c1_c2-d_Izteb_dV_c1_c2);
d_contribTemp_dV_b2_c1 = (model_.TYPE)*(d_Ib1_dV_b2_c1-d_Izteb_dV_b2_c1);
d_contribTemp_dV_b2_c2 = (model_.TYPE)*(d_Ib1_dV_b2_c2-d_Izteb_dV_b2_c2);
staticContributions[admsNodeID_b2] += contribTemp;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_b2][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
staticContributions[admsNodeID_e1] -= contribTemp;
d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_e1][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;

Jdxp_static[admsNodeID_b2] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2];
Jdxp_static[admsNodeID_e1] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2];
}
// I(b1,s) <+ ((TYPE*Isub))
{
double contribTemp;
double d_contribTemp_dV_s_c1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b1_b2;
contribTemp= ((model_.TYPE)*Isub);
d_contribTemp_dV_s_c1 = (model_.TYPE)*d_Isub_dV_s_c1;
d_contribTemp_dV_c4_c1 = (model_.TYPE)*d_Isub_dV_c4_c1;
d_contribTemp_dV_c1_c2 = (model_.TYPE)*d_Isub_dV_c1_c2;
d_contribTemp_dV_b2_c2 = (model_.TYPE)*d_Isub_dV_b2_c2;
d_contribTemp_dV_b1_b2 = (model_.TYPE)*d_Isub_dV_b1_b2;
staticContributions[admsNodeID_b1] += contribTemp;
d_staticContributions[admsNodeID_b1][admsProbeID_V_s_c1] += d_contribTemp_dV_s_c1;
d_staticContributions[admsNodeID_b1][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_b1][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
staticContributions[admsNodeID_s] -= contribTemp;
d_staticContributions[admsNodeID_s][admsProbeID_V_s_c1] -= d_contribTemp_dV_s_c1;
d_staticContributions[admsNodeID_s][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_s][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_s][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_s][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;

Jdxp_static[admsNodeID_b1] += d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_static[admsNodeID_s] -= d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(b,s) <+ ((TYPE*XIsub))
{
double contribTemp;
double d_contribTemp_dV_s_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_c3_c4;
double d_contribTemp_dV_c3_c1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_b1_b2;
double d_contribTemp_dV_b_b1;
double d_contribTemp_dV_b_c;
contribTemp= ((model_.TYPE)*XIsub);
d_contribTemp_dV_s_c1 = (model_.TYPE)*d_XIsub_dV_s_c1;
d_contribTemp_dV_c1_c2 = (model_.TYPE)*d_XIsub_dV_c1_c2;
d_contribTemp_dV_b2_c1 = (model_.TYPE)*d_XIsub_dV_b2_c1;
d_contribTemp_dV_b2_c2 = (model_.TYPE)*d_XIsub_dV_b2_c2;
d_contribTemp_dV_b2_e1 = (model_.TYPE)*d_XIsub_dV_b2_e1;
d_contribTemp_dV_c3_c4 = (model_.TYPE)*d_XIsub_dV_c3_c4;
d_contribTemp_dV_c3_c1 = (model_.TYPE)*d_XIsub_dV_c3_c1;
d_contribTemp_dV_c4_c1 = (model_.TYPE)*d_XIsub_dV_c4_c1;
d_contribTemp_dV_b1_b2 = (model_.TYPE)*d_XIsub_dV_b1_b2;
d_contribTemp_dV_b_b1 = (model_.TYPE)*d_XIsub_dV_b_b1;
d_contribTemp_dV_b_c = (model_.TYPE)*d_XIsub_dV_b_c;
staticContributions[admsNodeID_b] += contribTemp;
d_staticContributions[admsNodeID_b][admsProbeID_V_s_c1] += d_contribTemp_dV_s_c1;
d_staticContributions[admsNodeID_b][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_b][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_b][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_b][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_b][admsProbeID_V_c3_c4] += d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_b][admsProbeID_V_c3_c1] += d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_b][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_b][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
d_staticContributions[admsNodeID_b][admsProbeID_V_b_b1] += d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_b][admsProbeID_V_b_c] += d_contribTemp_dV_b_c;
staticContributions[admsNodeID_s] -= contribTemp;
d_staticContributions[admsNodeID_s][admsProbeID_V_s_c1] -= d_contribTemp_dV_s_c1;
d_staticContributions[admsNodeID_s][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_s][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_s][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_s][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_s][admsProbeID_V_c3_c4] -= d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_s][admsProbeID_V_c3_c1] -= d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_s][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_s][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;
d_staticContributions[admsNodeID_s][admsProbeID_V_b_b1] -= d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_s][admsProbeID_V_b_c] -= d_contribTemp_dV_b_c;

Jdxp_static[admsNodeID_b] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_static[admsNodeID_s] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(s,c1) <+ ((TYPE*Isf))
staticContributions[admsNodeID_s] += ((model_.TYPE)*Isf);
d_staticContributions[admsNodeID_s][admsProbeID_V_s_c1] += (model_.TYPE)*d_Isf_dV_s_c1;
staticContributions[admsNodeID_c1] -= ((model_.TYPE)*Isf);
d_staticContributions[admsNodeID_c1][admsProbeID_V_s_c1] -= (model_.TYPE)*d_Isf_dV_s_c1;
// I(b1,b2) <+ ((TYPE*Ib1b2))
{
double contribTemp;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_c3_c4;
double d_contribTemp_dV_c3_c1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_b_b1;
double d_contribTemp_dV_b_c;
double d_contribTemp_dV_b1_b2;
contribTemp= ((model_.TYPE)*Ib1b2);
d_contribTemp_dV_c1_c2 = (model_.TYPE)*d_Ib1b2_dV_c1_c2;
d_contribTemp_dV_b2_c1 = (model_.TYPE)*d_Ib1b2_dV_b2_c1;
d_contribTemp_dV_b2_c2 = (model_.TYPE)*d_Ib1b2_dV_b2_c2;
d_contribTemp_dV_b2_e1 = (model_.TYPE)*d_Ib1b2_dV_b2_e1;
d_contribTemp_dV_c3_c4 = (model_.TYPE)*d_Ib1b2_dV_c3_c4;
d_contribTemp_dV_c3_c1 = (model_.TYPE)*d_Ib1b2_dV_c3_c1;
d_contribTemp_dV_c4_c1 = (model_.TYPE)*d_Ib1b2_dV_c4_c1;
d_contribTemp_dV_b_b1 = (model_.TYPE)*d_Ib1b2_dV_b_b1;
d_contribTemp_dV_b_c = (model_.TYPE)*d_Ib1b2_dV_b_c;
d_contribTemp_dV_b1_b2 = (model_.TYPE)*d_Ib1b2_dV_b1_b2;
staticContributions[admsNodeID_b1] += contribTemp;
d_staticContributions[admsNodeID_b1][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_b1][admsProbeID_V_c3_c4] += d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_b1][admsProbeID_V_c3_c1] += d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_b1][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b_b1] += d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b_c] += d_contribTemp_dV_b_c;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
staticContributions[admsNodeID_b2] -= contribTemp;
d_staticContributions[admsNodeID_b2][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_b2][admsProbeID_V_c3_c4] -= d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_b2][admsProbeID_V_c3_c1] -= d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_b2][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b_b1] -= d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b_c] -= d_contribTemp_dV_b_c;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;

Jdxp_static[admsNodeID_b1] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_static[admsNodeID_b2] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(b2,c2) <+ ((TYPE*((-1.0)*Iavl)))
{
double contribTemp;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_c3_c4;
double d_contribTemp_dV_c3_c1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_b1_b2;
double d_contribTemp_dV_b_b1;
double d_contribTemp_dV_b_c;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_c2;
contribTemp= ((model_.TYPE)*((-1.0)*Iavl));
d_contribTemp_dV_b2_e1 = (model_.TYPE)*(-1.0)*d_Iavl_dV_b2_e1;
d_contribTemp_dV_c3_c4 = (model_.TYPE)*(-1.0)*d_Iavl_dV_c3_c4;
d_contribTemp_dV_c3_c1 = (model_.TYPE)*(-1.0)*d_Iavl_dV_c3_c1;
d_contribTemp_dV_c4_c1 = (model_.TYPE)*(-1.0)*d_Iavl_dV_c4_c1;
d_contribTemp_dV_b1_b2 = (model_.TYPE)*(-1.0)*d_Iavl_dV_b1_b2;
d_contribTemp_dV_b_b1 = (model_.TYPE)*(-1.0)*d_Iavl_dV_b_b1;
d_contribTemp_dV_b_c = (model_.TYPE)*(-1.0)*d_Iavl_dV_b_c;
d_contribTemp_dV_c1_c2 = (model_.TYPE)*(-1.0)*d_Iavl_dV_c1_c2;
d_contribTemp_dV_b2_c1 = (model_.TYPE)*(-1.0)*d_Iavl_dV_b2_c1;
d_contribTemp_dV_b2_c2 = (model_.TYPE)*(-1.0)*d_Iavl_dV_b2_c2;
staticContributions[admsNodeID_b2] += contribTemp;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_b2][admsProbeID_V_c3_c4] += d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_b2][admsProbeID_V_c3_c1] += d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_b2][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b_b1] += d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b_c] += d_contribTemp_dV_b_c;
d_staticContributions[admsNodeID_b2][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
staticContributions[admsNodeID_c2] -= contribTemp;
d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_c2][admsProbeID_V_c3_c4] -= d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_c2][admsProbeID_V_c3_c1] -= d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_c2][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_c2][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;
d_staticContributions[admsNodeID_c2][admsProbeID_V_b_b1] -= d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_c2][admsProbeID_V_b_c] -= d_contribTemp_dV_b_c;
d_staticContributions[admsNodeID_c2][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;

Jdxp_static[admsNodeID_b2] += d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2]+d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2];
Jdxp_static[admsNodeID_c2] -= d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2]+d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2];
}
// I(e,e1) <+ (((TYPE*Vee1)/RE_TM))
staticContributions[admsNodeID_e] += (((model_.TYPE)*Vee1)/RE_TM);
d_staticContributions[admsNodeID_e][admsProbeID_V_e_e1] += ((model_.TYPE)*d_Vee1_dV_e_e1/RE_TM);
staticContributions[admsNodeID_e1] -= (((model_.TYPE)*Vee1)/RE_TM);
d_staticContributions[admsNodeID_e1][admsProbeID_V_e_e1] -= ((model_.TYPE)*d_Vee1_dV_e_e1/RE_TM);
// I(b,b1) <+ (((TYPE*Vbb1)/RBC_TM))
staticContributions[admsNodeID_b] += (((model_.TYPE)*Vbb1)/RBC_TM);
d_staticContributions[admsNodeID_b][admsProbeID_V_b_b1] += ((model_.TYPE)*d_Vbb1_dV_b_b1/RBC_TM);
staticContributions[admsNodeID_b1] -= (((model_.TYPE)*Vbb1)/RBC_TM);
d_staticContributions[admsNodeID_b1][admsProbeID_V_b_b1] -= ((model_.TYPE)*d_Vbb1_dV_b_b1/RBC_TM);
// I(b2,e1) <+ (ddt((TYPE*((Qte+Qbe)+Qe))))
{
double contribTemp;
double d_contribTemp_dV_c3_c4;
double d_contribTemp_dV_c3_c1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_b1_b2;
double d_contribTemp_dV_b_b1;
double d_contribTemp_dV_b_c;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b2_e1;
contribTemp= (((model_.TYPE)*((Qte+Qbe)+Qe)));
d_contribTemp_dV_c3_c4 = ((model_.TYPE)*d_Qbe_dV_c3_c4);
d_contribTemp_dV_c3_c1 = ((model_.TYPE)*d_Qbe_dV_c3_c1);
d_contribTemp_dV_c4_c1 = ((model_.TYPE)*(d_Qbe_dV_c4_c1+d_Qe_dV_c4_c1));
d_contribTemp_dV_b1_b2 = ((model_.TYPE)*(d_Qbe_dV_b1_b2+d_Qe_dV_b1_b2));
d_contribTemp_dV_b_b1 = ((model_.TYPE)*d_Qbe_dV_b_b1);
d_contribTemp_dV_b_c = ((model_.TYPE)*d_Qbe_dV_b_c);
d_contribTemp_dV_c1_c2 = ((model_.TYPE)*((d_Qte_dV_c1_c2+d_Qbe_dV_c1_c2)+d_Qe_dV_c1_c2));
d_contribTemp_dV_b2_c1 = ((model_.TYPE)*(d_Qte_dV_b2_c1+d_Qbe_dV_b2_c1));
d_contribTemp_dV_b2_c2 = ((model_.TYPE)*((d_Qte_dV_b2_c2+d_Qbe_dV_b2_c2)+d_Qe_dV_b2_c2));
d_contribTemp_dV_b2_e1 = ((model_.TYPE)*((d_Qte_dV_b2_e1+d_Qbe_dV_b2_e1)+d_Qe_dV_b2_e1));
dynamicContributions[admsNodeID_b2] += contribTemp;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c3_c4] += d_contribTemp_dV_c3_c4;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c3_c1] += d_contribTemp_dV_c3_c1;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_b1] += d_contribTemp_dV_b_b1;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_c] += d_contribTemp_dV_b_c;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
dynamicContributions[admsNodeID_e1] -= contribTemp;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c3_c4] -= d_contribTemp_dV_c3_c4;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c3_c1] -= d_contribTemp_dV_c3_c1;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b_b1] -= d_contribTemp_dV_b_b1;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b_c] -= d_contribTemp_dV_b_c;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;

Jdxp_dynamic[admsNodeID_b2] += d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2]+d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2];
Jdxp_dynamic[admsNodeID_e1] -= d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2]+d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2];
}
// I(b1,e1) <+ (ddt((TYPE*Qte_s)))
{
double contribTemp;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_b1_e1;
contribTemp= (((model_.TYPE)*Qte_s));
d_contribTemp_dV_c1_c2 = ((model_.TYPE)*d_Qte_s_dV_c1_c2);
d_contribTemp_dV_b2_c1 = ((model_.TYPE)*d_Qte_s_dV_b2_c1);
d_contribTemp_dV_b2_c2 = ((model_.TYPE)*d_Qte_s_dV_b2_c2);
d_contribTemp_dV_b2_e1 = ((model_.TYPE)*d_Qte_s_dV_b2_e1);
d_contribTemp_dV_b1_e1 = ((model_.TYPE)*d_Qte_s_dV_b1_e1);
dynamicContributions[admsNodeID_b1] += contribTemp;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_e1] += d_contribTemp_dV_b1_e1;
dynamicContributions[admsNodeID_e1] -= contribTemp;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b1_e1] -= d_contribTemp_dV_b1_e1;

Jdxp_dynamic[admsNodeID_b1] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1];
Jdxp_dynamic[admsNodeID_e1] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1];
}
// I(b2,c2) <+ (ddt((TYPE*((Qtc+Qbc)+Qepi))))
{
double contribTemp;
double d_contribTemp_dV_c3_c4;
double d_contribTemp_dV_c3_c1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_b1_b2;
double d_contribTemp_dV_b_b1;
double d_contribTemp_dV_b_c;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_c2;
contribTemp= (((model_.TYPE)*((Qtc+Qbc)+Qepi)));
d_contribTemp_dV_c3_c4 = ((model_.TYPE)*d_Qbc_dV_c3_c4);
d_contribTemp_dV_c3_c1 = ((model_.TYPE)*d_Qbc_dV_c3_c1);
d_contribTemp_dV_c4_c1 = ((model_.TYPE)*d_Qbc_dV_c4_c1);
d_contribTemp_dV_b1_b2 = ((model_.TYPE)*d_Qbc_dV_b1_b2);
d_contribTemp_dV_b_b1 = ((model_.TYPE)*d_Qbc_dV_b_b1);
d_contribTemp_dV_b_c = ((model_.TYPE)*d_Qbc_dV_b_c);
d_contribTemp_dV_b2_e1 = ((model_.TYPE)*(d_Qtc_dV_b2_e1+d_Qbc_dV_b2_e1));
d_contribTemp_dV_c1_c2 = ((model_.TYPE)*((d_Qtc_dV_c1_c2+d_Qbc_dV_c1_c2)+d_Qepi_dV_c1_c2));
d_contribTemp_dV_b2_c1 = ((model_.TYPE)*((d_Qtc_dV_b2_c1+d_Qbc_dV_b2_c1)+d_Qepi_dV_b2_c1));
d_contribTemp_dV_b2_c2 = ((model_.TYPE)*((d_Qtc_dV_b2_c2+d_Qbc_dV_b2_c2)+d_Qepi_dV_b2_c2));
dynamicContributions[admsNodeID_b2] += contribTemp;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c3_c4] += d_contribTemp_dV_c3_c4;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c3_c1] += d_contribTemp_dV_c3_c1;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_b1] += d_contribTemp_dV_b_b1;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_c] += d_contribTemp_dV_b_c;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
dynamicContributions[admsNodeID_c2] -= contribTemp;
d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c3_c4] -= d_contribTemp_dV_c3_c4;
d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c3_c1] -= d_contribTemp_dV_c3_c1;
d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;
d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b_b1] -= d_contribTemp_dV_b_b1;
d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b_c] -= d_contribTemp_dV_b_c;
d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;

Jdxp_dynamic[admsNodeID_b2] += d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2]+d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2];
Jdxp_dynamic[admsNodeID_c2] -= d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2]+d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2];
}
// I(s,c1) <+ (ddt((TYPE*Qts)))
{
double contribTemp;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_b1_e1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_b1_b2;
double d_contribTemp_dV_c3_c4;
double d_contribTemp_dV_c3_c1;
double d_contribTemp_dV_b_b1;
double d_contribTemp_dV_b_c;
double d_contribTemp_dV_s_c1;
contribTemp= (((model_.TYPE)*Qts));
d_contribTemp_dV_c1_c2 = ((model_.TYPE)*d_Qts_dV_c1_c2);
d_contribTemp_dV_b2_c1 = ((model_.TYPE)*d_Qts_dV_b2_c1);
d_contribTemp_dV_b2_c2 = ((model_.TYPE)*d_Qts_dV_b2_c2);
d_contribTemp_dV_b2_e1 = ((model_.TYPE)*d_Qts_dV_b2_e1);
d_contribTemp_dV_b1_e1 = ((model_.TYPE)*d_Qts_dV_b1_e1);
d_contribTemp_dV_c4_c1 = ((model_.TYPE)*d_Qts_dV_c4_c1);
d_contribTemp_dV_b1_b2 = ((model_.TYPE)*d_Qts_dV_b1_b2);
d_contribTemp_dV_c3_c4 = ((model_.TYPE)*d_Qts_dV_c3_c4);
d_contribTemp_dV_c3_c1 = ((model_.TYPE)*d_Qts_dV_c3_c1);
d_contribTemp_dV_b_b1 = ((model_.TYPE)*d_Qts_dV_b_b1);
d_contribTemp_dV_b_c = ((model_.TYPE)*d_Qts_dV_b_c);
d_contribTemp_dV_s_c1 = ((model_.TYPE)*d_Qts_dV_s_c1);
dynamicContributions[admsNodeID_s] += contribTemp;
d_dynamicContributions[admsNodeID_s][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_s][admsProbeID_V_b1_e1] += d_contribTemp_dV_b1_e1;
d_dynamicContributions[admsNodeID_s][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_s][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
d_dynamicContributions[admsNodeID_s][admsProbeID_V_c3_c4] += d_contribTemp_dV_c3_c4;
d_dynamicContributions[admsNodeID_s][admsProbeID_V_c3_c1] += d_contribTemp_dV_c3_c1;
d_dynamicContributions[admsNodeID_s][admsProbeID_V_b_b1] += d_contribTemp_dV_b_b1;
d_dynamicContributions[admsNodeID_s][admsProbeID_V_b_c] += d_contribTemp_dV_b_c;
d_dynamicContributions[admsNodeID_s][admsProbeID_V_s_c1] += d_contribTemp_dV_s_c1;
dynamicContributions[admsNodeID_c1] -= contribTemp;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_e1] -= d_contribTemp_dV_b1_e1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c3_c4] -= d_contribTemp_dV_c3_c4;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c3_c1] -= d_contribTemp_dV_c3_c1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b_b1] -= d_contribTemp_dV_b_b1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b_c] -= d_contribTemp_dV_b_c;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_s_c1] -= d_contribTemp_dV_s_c1;

Jdxp_dynamic[admsNodeID_s] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_dynamic[admsNodeID_c1] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(b1,b2) <+ (ddt((TYPE*Qb1b2)))
{
double contribTemp;
double d_contribTemp_dV_c3_c4;
double d_contribTemp_dV_c3_c1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_b_b1;
double d_contribTemp_dV_b_c;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_b1_b2;
contribTemp= (((model_.TYPE)*Qb1b2));
d_contribTemp_dV_c3_c4 = ((model_.TYPE)*d_Qb1b2_dV_c3_c4);
d_contribTemp_dV_c3_c1 = ((model_.TYPE)*d_Qb1b2_dV_c3_c1);
d_contribTemp_dV_c4_c1 = ((model_.TYPE)*d_Qb1b2_dV_c4_c1);
d_contribTemp_dV_b_b1 = ((model_.TYPE)*d_Qb1b2_dV_b_b1);
d_contribTemp_dV_b_c = ((model_.TYPE)*d_Qb1b2_dV_b_c);
d_contribTemp_dV_c1_c2 = ((model_.TYPE)*d_Qb1b2_dV_c1_c2);
d_contribTemp_dV_b2_c1 = ((model_.TYPE)*d_Qb1b2_dV_b2_c1);
d_contribTemp_dV_b2_c2 = ((model_.TYPE)*d_Qb1b2_dV_b2_c2);
d_contribTemp_dV_b2_e1 = ((model_.TYPE)*d_Qb1b2_dV_b2_e1);
d_contribTemp_dV_b1_b2 = ((model_.TYPE)*d_Qb1b2_dV_b1_b2);
dynamicContributions[admsNodeID_b1] += contribTemp;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c3_c4] += d_contribTemp_dV_c3_c4;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c3_c1] += d_contribTemp_dV_c3_c1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b_b1] += d_contribTemp_dV_b_b1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b_c] += d_contribTemp_dV_b_c;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
dynamicContributions[admsNodeID_b2] -= contribTemp;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c3_c4] -= d_contribTemp_dV_c3_c4;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c3_c1] -= d_contribTemp_dV_c3_c1;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_b1] -= d_contribTemp_dV_b_b1;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_c] -= d_contribTemp_dV_b_c;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;

Jdxp_dynamic[admsNodeID_b1] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_dynamic[admsNodeID_b2] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(b,e) <+ (ddt(((TYPE*CBEO_M)*Vbe)))
dynamicContributions[admsNodeID_b] += ((((model_.TYPE)*CBEO_M)*Vbe));
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_e] += (((model_.TYPE)*CBEO_M)*d_Vbe_dV_b_e);
dynamicContributions[admsNodeID_e] -= ((((model_.TYPE)*CBEO_M)*Vbe));
d_dynamicContributions[admsNodeID_e][admsProbeID_V_b_e] -= (((model_.TYPE)*CBEO_M)*d_Vbe_dV_b_e);
// I(b,c) <+ (ddt(((TYPE*CBCO_M)*Vbc)))
dynamicContributions[admsNodeID_b] += ((((model_.TYPE)*CBCO_M)*Vbc));
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_c] += (((model_.TYPE)*CBCO_M)*d_Vbc_dV_b_c);
dynamicContributions[admsNodeID_c] -= ((((model_.TYPE)*CBCO_M)*Vbc));
d_dynamicContributions[admsNodeID_c][admsProbeID_V_b_c] -= (((model_.TYPE)*CBCO_M)*d_Vbc_dV_b_c);
}
if (((model_.RCBLX)>0.0))
{
// I(b,c3) <+ ((TYPE*XIex))
{
double contribTemp;
double d_contribTemp_dV_s_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_c3_c4;
double d_contribTemp_dV_c3_c1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_b1_b2;
double d_contribTemp_dV_b_b1;
double d_contribTemp_dV_b_c;
contribTemp= ((model_.TYPE)*XIex);
d_contribTemp_dV_s_c1 = (model_.TYPE)*d_XIex_dV_s_c1;
d_contribTemp_dV_c1_c2 = (model_.TYPE)*d_XIex_dV_c1_c2;
d_contribTemp_dV_b2_c1 = (model_.TYPE)*d_XIex_dV_b2_c1;
d_contribTemp_dV_b2_c2 = (model_.TYPE)*d_XIex_dV_b2_c2;
d_contribTemp_dV_b2_e1 = (model_.TYPE)*d_XIex_dV_b2_e1;
d_contribTemp_dV_c3_c4 = (model_.TYPE)*d_XIex_dV_c3_c4;
d_contribTemp_dV_c3_c1 = (model_.TYPE)*d_XIex_dV_c3_c1;
d_contribTemp_dV_c4_c1 = (model_.TYPE)*d_XIex_dV_c4_c1;
d_contribTemp_dV_b1_b2 = (model_.TYPE)*d_XIex_dV_b1_b2;
d_contribTemp_dV_b_b1 = (model_.TYPE)*d_XIex_dV_b_b1;
d_contribTemp_dV_b_c = (model_.TYPE)*d_XIex_dV_b_c;
staticContributions[admsNodeID_b] += contribTemp;
d_staticContributions[admsNodeID_b][admsProbeID_V_s_c1] += d_contribTemp_dV_s_c1;
d_staticContributions[admsNodeID_b][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_b][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_b][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_b][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_b][admsProbeID_V_c3_c4] += d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_b][admsProbeID_V_c3_c1] += d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_b][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_b][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
d_staticContributions[admsNodeID_b][admsProbeID_V_b_b1] += d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_b][admsProbeID_V_b_c] += d_contribTemp_dV_b_c;
staticContributions[admsNodeID_c3] -= contribTemp;
d_staticContributions[admsNodeID_c3][admsProbeID_V_s_c1] -= d_contribTemp_dV_s_c1;
d_staticContributions[admsNodeID_c3][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c4] -= d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c1] -= d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_c3][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_c3][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;
d_staticContributions[admsNodeID_c3][admsProbeID_V_b_b1] -= d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_c3][admsProbeID_V_b_c] -= d_contribTemp_dV_b_c;

Jdxp_static[admsNodeID_b] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_static[admsNodeID_c3] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(c,c3) <+ (((TYPE*Vcc3)*GCCxx_TM))
{
double contribTemp;
double d_contribTemp_dV_c3_c4;
double d_contribTemp_dV_c3_c1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b1_b2;
double d_contribTemp_dV_b_b1;
double d_contribTemp_dV_b_c;
contribTemp= (((model_.TYPE)*Vcc3)*GCCxx_TM);
d_contribTemp_dV_c3_c4 = (model_.TYPE)*d_Vcc3_dV_c3_c4*GCCxx_TM;
d_contribTemp_dV_c3_c1 = (model_.TYPE)*d_Vcc3_dV_c3_c1*GCCxx_TM;
d_contribTemp_dV_c4_c1 = (model_.TYPE)*d_Vcc3_dV_c4_c1*GCCxx_TM;
d_contribTemp_dV_c1_c2 = (model_.TYPE)*d_Vcc3_dV_c1_c2*GCCxx_TM;
d_contribTemp_dV_b2_c2 = (model_.TYPE)*d_Vcc3_dV_b2_c2*GCCxx_TM;
d_contribTemp_dV_b1_b2 = (model_.TYPE)*d_Vcc3_dV_b1_b2*GCCxx_TM;
d_contribTemp_dV_b_b1 = (model_.TYPE)*d_Vcc3_dV_b_b1*GCCxx_TM;
d_contribTemp_dV_b_c = (model_.TYPE)*d_Vcc3_dV_b_c*GCCxx_TM;
staticContributions[admsNodeID_c] += contribTemp;
d_staticContributions[admsNodeID_c][admsProbeID_V_c3_c4] += d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_c][admsProbeID_V_c3_c1] += d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_c][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_c][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_c][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_c][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
d_staticContributions[admsNodeID_c][admsProbeID_V_b_b1] += d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_c][admsProbeID_V_b_c] += d_contribTemp_dV_b_c;
staticContributions[admsNodeID_c3] -= contribTemp;
d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c4] -= d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c1] -= d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_c3][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_c3][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_c3][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;
d_staticContributions[admsNodeID_c3][admsProbeID_V_b_b1] -= d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_c3][admsProbeID_V_b_c] -= d_contribTemp_dV_b_c;

Jdxp_static[admsNodeID_c] += d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_static[admsNodeID_c3] -= d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(b,c3) <+ (ddt((TYPE*(XQtex+XQex))))
{
double contribTemp;
double d_contribTemp_dV_s_c1;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_b1_e1;
double d_contribTemp_dV_c3_c4;
double d_contribTemp_dV_c3_c1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b1_b2;
double d_contribTemp_dV_b_b1;
double d_contribTemp_dV_b_c;
contribTemp= (((model_.TYPE)*(XQtex+XQex)));
d_contribTemp_dV_s_c1 = ((model_.TYPE)*d_XQex_dV_s_c1);
d_contribTemp_dV_b2_c1 = ((model_.TYPE)*(d_XQtex_dV_b2_c1+d_XQex_dV_b2_c1));
d_contribTemp_dV_b2_e1 = ((model_.TYPE)*(d_XQtex_dV_b2_e1+d_XQex_dV_b2_e1));
d_contribTemp_dV_b1_e1 = ((model_.TYPE)*d_XQtex_dV_b1_e1);
d_contribTemp_dV_c3_c4 = ((model_.TYPE)*(d_XQtex_dV_c3_c4+d_XQex_dV_c3_c4));
d_contribTemp_dV_c3_c1 = ((model_.TYPE)*(d_XQtex_dV_c3_c1+d_XQex_dV_c3_c1));
d_contribTemp_dV_c4_c1 = ((model_.TYPE)*(d_XQtex_dV_c4_c1+d_XQex_dV_c4_c1));
d_contribTemp_dV_c1_c2 = ((model_.TYPE)*(d_XQtex_dV_c1_c2+d_XQex_dV_c1_c2));
d_contribTemp_dV_b2_c2 = ((model_.TYPE)*(d_XQtex_dV_b2_c2+d_XQex_dV_b2_c2));
d_contribTemp_dV_b1_b2 = ((model_.TYPE)*(d_XQtex_dV_b1_b2+d_XQex_dV_b1_b2));
d_contribTemp_dV_b_b1 = ((model_.TYPE)*(d_XQtex_dV_b_b1+d_XQex_dV_b_b1));
d_contribTemp_dV_b_c = ((model_.TYPE)*(d_XQtex_dV_b_c+d_XQex_dV_b_c));
dynamicContributions[admsNodeID_b] += contribTemp;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_s_c1] += d_contribTemp_dV_s_c1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b1_e1] += d_contribTemp_dV_b1_e1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_c3_c4] += d_contribTemp_dV_c3_c4;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_c3_c1] += d_contribTemp_dV_c3_c1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_b1] += d_contribTemp_dV_b_b1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_c] += d_contribTemp_dV_b_c;
dynamicContributions[admsNodeID_c3] -= contribTemp;
d_dynamicContributions[admsNodeID_c3][admsProbeID_V_s_c1] -= d_contribTemp_dV_s_c1;
d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b1_e1] -= d_contribTemp_dV_b1_e1;
d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c3_c4] -= d_contribTemp_dV_c3_c4;
d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c3_c1] -= d_contribTemp_dV_c3_c1;
d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;
d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b_b1] -= d_contribTemp_dV_b_b1;
d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b_c] -= d_contribTemp_dV_b_c;

Jdxp_dynamic[admsNodeID_b] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_dynamic[admsNodeID_c3] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
if (((model_.RCBLI)>0.0))
{
// I(c4,c1) <+ (((TYPE*Vc4c1)*GCCin_TM))
staticContributions[admsNodeID_c4] += (((model_.TYPE)*Vc4c1)*GCCin_TM);
d_staticContributions[admsNodeID_c4][admsProbeID_V_c4_c1] += (model_.TYPE)*d_Vc4c1_dV_c4_c1*GCCin_TM;
staticContributions[admsNodeID_c1] -= (((model_.TYPE)*Vc4c1)*GCCin_TM);
d_staticContributions[admsNodeID_c1][admsProbeID_V_c4_c1] -= (model_.TYPE)*d_Vc4c1_dV_c4_c1*GCCin_TM;
// I(b1,c4) <+ ((TYPE*(Ib3+Iex)))
{
double contribTemp;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b1_b2;
contribTemp= ((model_.TYPE)*(Ib3+Iex));
d_contribTemp_dV_b2_e1 = (model_.TYPE)*d_Ib3_dV_b2_e1;
d_contribTemp_dV_c4_c1 = (model_.TYPE)*(d_Ib3_dV_c4_c1+d_Iex_dV_c4_c1);
d_contribTemp_dV_c1_c2 = (model_.TYPE)*(d_Ib3_dV_c1_c2+d_Iex_dV_c1_c2);
d_contribTemp_dV_b2_c2 = (model_.TYPE)*(d_Ib3_dV_b2_c2+d_Iex_dV_b2_c2);
d_contribTemp_dV_b1_b2 = (model_.TYPE)*(d_Ib3_dV_b1_b2+d_Iex_dV_b1_b2);
staticContributions[admsNodeID_b1] += contribTemp;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_b1][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_b1][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
staticContributions[admsNodeID_c4] -= contribTemp;
d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_c4][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_c4][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_c4][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;

Jdxp_static[admsNodeID_b1] += d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_static[admsNodeID_c4] -= d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(c3,c4) <+ (((TYPE*Vc3c4)*GCCex_TM))
staticContributions[admsNodeID_c3] += (((model_.TYPE)*Vc3c4)*GCCex_TM);
d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c4] += (model_.TYPE)*d_Vc3c4_dV_c3_c4*GCCex_TM;
d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c1] += (model_.TYPE)*d_Vc3c4_dV_c3_c1*GCCex_TM;
staticContributions[admsNodeID_c4] -= (((model_.TYPE)*Vc3c4)*GCCex_TM);
d_staticContributions[admsNodeID_c4][admsProbeID_V_c3_c4] -= (model_.TYPE)*d_Vc3c4_dV_c3_c4*GCCex_TM;
d_staticContributions[admsNodeID_c4][admsProbeID_V_c3_c1] -= (model_.TYPE)*d_Vc3c4_dV_c3_c1*GCCex_TM;
// I(b1,c4) <+ (ddt((TYPE*(Qtex+Qex))))
{
double contribTemp;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_b1_e1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b1_b2;
contribTemp= (((model_.TYPE)*(Qtex+Qex)));
d_contribTemp_dV_b2_c1 = ((model_.TYPE)*d_Qtex_dV_b2_c1);
d_contribTemp_dV_b2_e1 = ((model_.TYPE)*d_Qtex_dV_b2_e1);
d_contribTemp_dV_b1_e1 = ((model_.TYPE)*d_Qtex_dV_b1_e1);
d_contribTemp_dV_c4_c1 = ((model_.TYPE)*(d_Qtex_dV_c4_c1+d_Qex_dV_c4_c1));
d_contribTemp_dV_c1_c2 = ((model_.TYPE)*(d_Qtex_dV_c1_c2+d_Qex_dV_c1_c2));
d_contribTemp_dV_b2_c2 = ((model_.TYPE)*(d_Qtex_dV_b2_c2+d_Qex_dV_b2_c2));
d_contribTemp_dV_b1_b2 = ((model_.TYPE)*(d_Qtex_dV_b1_b2+d_Qex_dV_b1_b2));
dynamicContributions[admsNodeID_b1] += contribTemp;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_e1] += d_contribTemp_dV_b1_e1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
dynamicContributions[admsNodeID_c4] -= contribTemp;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b1_e1] -= d_contribTemp_dV_b1_e1;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;

Jdxp_dynamic[admsNodeID_b1] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_dynamic[admsNodeID_c4] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
}
else
{
// V(c4,c1) <+ (0.0)
// do nothing at all
// I(b1,c1) <+ ((TYPE*(Ib3+Iex)))
{
double contribTemp;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b1_b2;
contribTemp= ((model_.TYPE)*(Ib3+Iex));
d_contribTemp_dV_b2_e1 = (model_.TYPE)*d_Ib3_dV_b2_e1;
d_contribTemp_dV_c4_c1 = (model_.TYPE)*(d_Ib3_dV_c4_c1+d_Iex_dV_c4_c1);
d_contribTemp_dV_c1_c2 = (model_.TYPE)*(d_Ib3_dV_c1_c2+d_Iex_dV_c1_c2);
d_contribTemp_dV_b2_c2 = (model_.TYPE)*(d_Ib3_dV_b2_c2+d_Iex_dV_b2_c2);
d_contribTemp_dV_b1_b2 = (model_.TYPE)*(d_Ib3_dV_b1_b2+d_Iex_dV_b1_b2);
staticContributions[admsNodeID_b1] += contribTemp;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_b1][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_b1][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
staticContributions[admsNodeID_c1] -= contribTemp;
d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_c1][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_c1][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_c1][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;

Jdxp_static[admsNodeID_b1] += d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_static[admsNodeID_c1] -= d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(b1,c1) <+ (ddt((TYPE*(Qtex+Qex))))
{
double contribTemp;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_b1_e1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b1_b2;
contribTemp= (((model_.TYPE)*(Qtex+Qex)));
d_contribTemp_dV_b2_c1 = ((model_.TYPE)*d_Qtex_dV_b2_c1);
d_contribTemp_dV_b2_e1 = ((model_.TYPE)*d_Qtex_dV_b2_e1);
d_contribTemp_dV_b1_e1 = ((model_.TYPE)*d_Qtex_dV_b1_e1);
d_contribTemp_dV_c4_c1 = ((model_.TYPE)*(d_Qtex_dV_c4_c1+d_Qex_dV_c4_c1));
d_contribTemp_dV_c1_c2 = ((model_.TYPE)*(d_Qtex_dV_c1_c2+d_Qex_dV_c1_c2));
d_contribTemp_dV_b2_c2 = ((model_.TYPE)*(d_Qtex_dV_b2_c2+d_Qex_dV_b2_c2));
d_contribTemp_dV_b1_b2 = ((model_.TYPE)*(d_Qtex_dV_b1_b2+d_Qex_dV_b1_b2));
dynamicContributions[admsNodeID_b1] += contribTemp;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_e1] += d_contribTemp_dV_b1_e1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
dynamicContributions[admsNodeID_c1] -= contribTemp;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_e1] -= d_contribTemp_dV_b1_e1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;

Jdxp_dynamic[admsNodeID_b1] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_dynamic[admsNodeID_c1] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(c3,c1) <+ (((TYPE*Vc3c4)*GCCex_TM))
staticContributions[admsNodeID_c3] += (((model_.TYPE)*Vc3c4)*GCCex_TM);
d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c4] += (model_.TYPE)*d_Vc3c4_dV_c3_c4*GCCex_TM;
d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c1] += (model_.TYPE)*d_Vc3c4_dV_c3_c1*GCCex_TM;
staticContributions[admsNodeID_c1] -= (((model_.TYPE)*Vc3c4)*GCCex_TM);
d_staticContributions[admsNodeID_c1][admsProbeID_V_c3_c4] -= (model_.TYPE)*d_Vc3c4_dV_c3_c4*GCCex_TM;
d_staticContributions[admsNodeID_c1][admsProbeID_V_c3_c1] -= (model_.TYPE)*d_Vc3c4_dV_c3_c1*GCCex_TM;
}
}
else
{
// V(c3,c4) <+ (0)
// do nothing at all
if (((model_.RCBLI)>0.0))
{
// I(b,c4) <+ ((TYPE*XIex))
{
double contribTemp;
double d_contribTemp_dV_s_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_c3_c4;
double d_contribTemp_dV_c3_c1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_b1_b2;
double d_contribTemp_dV_b_b1;
double d_contribTemp_dV_b_c;
contribTemp= ((model_.TYPE)*XIex);
d_contribTemp_dV_s_c1 = (model_.TYPE)*d_XIex_dV_s_c1;
d_contribTemp_dV_c1_c2 = (model_.TYPE)*d_XIex_dV_c1_c2;
d_contribTemp_dV_b2_c1 = (model_.TYPE)*d_XIex_dV_b2_c1;
d_contribTemp_dV_b2_c2 = (model_.TYPE)*d_XIex_dV_b2_c2;
d_contribTemp_dV_b2_e1 = (model_.TYPE)*d_XIex_dV_b2_e1;
d_contribTemp_dV_c3_c4 = (model_.TYPE)*d_XIex_dV_c3_c4;
d_contribTemp_dV_c3_c1 = (model_.TYPE)*d_XIex_dV_c3_c1;
d_contribTemp_dV_c4_c1 = (model_.TYPE)*d_XIex_dV_c4_c1;
d_contribTemp_dV_b1_b2 = (model_.TYPE)*d_XIex_dV_b1_b2;
d_contribTemp_dV_b_b1 = (model_.TYPE)*d_XIex_dV_b_b1;
d_contribTemp_dV_b_c = (model_.TYPE)*d_XIex_dV_b_c;
staticContributions[admsNodeID_b] += contribTemp;
d_staticContributions[admsNodeID_b][admsProbeID_V_s_c1] += d_contribTemp_dV_s_c1;
d_staticContributions[admsNodeID_b][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_b][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_b][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_b][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_b][admsProbeID_V_c3_c4] += d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_b][admsProbeID_V_c3_c1] += d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_b][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_b][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
d_staticContributions[admsNodeID_b][admsProbeID_V_b_b1] += d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_b][admsProbeID_V_b_c] += d_contribTemp_dV_b_c;
staticContributions[admsNodeID_c4] -= contribTemp;
d_staticContributions[admsNodeID_c4][admsProbeID_V_s_c1] -= d_contribTemp_dV_s_c1;
d_staticContributions[admsNodeID_c4][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_c4][admsProbeID_V_c3_c4] -= d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_c4][admsProbeID_V_c3_c1] -= d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_c4][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_c4][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;
d_staticContributions[admsNodeID_c4][admsProbeID_V_b_b1] -= d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_c4][admsProbeID_V_b_c] -= d_contribTemp_dV_b_c;

Jdxp_static[admsNodeID_b] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_static[admsNodeID_c4] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(c,c4) <+ (((TYPE*Vcc3)*GCCxx_TM))
{
double contribTemp;
double d_contribTemp_dV_c3_c4;
double d_contribTemp_dV_c3_c1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b1_b2;
double d_contribTemp_dV_b_b1;
double d_contribTemp_dV_b_c;
contribTemp= (((model_.TYPE)*Vcc3)*GCCxx_TM);
d_contribTemp_dV_c3_c4 = (model_.TYPE)*d_Vcc3_dV_c3_c4*GCCxx_TM;
d_contribTemp_dV_c3_c1 = (model_.TYPE)*d_Vcc3_dV_c3_c1*GCCxx_TM;
d_contribTemp_dV_c4_c1 = (model_.TYPE)*d_Vcc3_dV_c4_c1*GCCxx_TM;
d_contribTemp_dV_c1_c2 = (model_.TYPE)*d_Vcc3_dV_c1_c2*GCCxx_TM;
d_contribTemp_dV_b2_c2 = (model_.TYPE)*d_Vcc3_dV_b2_c2*GCCxx_TM;
d_contribTemp_dV_b1_b2 = (model_.TYPE)*d_Vcc3_dV_b1_b2*GCCxx_TM;
d_contribTemp_dV_b_b1 = (model_.TYPE)*d_Vcc3_dV_b_b1*GCCxx_TM;
d_contribTemp_dV_b_c = (model_.TYPE)*d_Vcc3_dV_b_c*GCCxx_TM;
staticContributions[admsNodeID_c] += contribTemp;
d_staticContributions[admsNodeID_c][admsProbeID_V_c3_c4] += d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_c][admsProbeID_V_c3_c1] += d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_c][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_c][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_c][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_c][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
d_staticContributions[admsNodeID_c][admsProbeID_V_b_b1] += d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_c][admsProbeID_V_b_c] += d_contribTemp_dV_b_c;
staticContributions[admsNodeID_c4] -= contribTemp;
d_staticContributions[admsNodeID_c4][admsProbeID_V_c3_c4] -= d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_c4][admsProbeID_V_c3_c1] -= d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_c4][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_c4][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_c4][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;
d_staticContributions[admsNodeID_c4][admsProbeID_V_b_b1] -= d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_c4][admsProbeID_V_b_c] -= d_contribTemp_dV_b_c;

Jdxp_static[admsNodeID_c] += d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_static[admsNodeID_c4] -= d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(c4,c1) <+ (((TYPE*Vc4c1)*GCCin_TM))
staticContributions[admsNodeID_c4] += (((model_.TYPE)*Vc4c1)*GCCin_TM);
d_staticContributions[admsNodeID_c4][admsProbeID_V_c4_c1] += (model_.TYPE)*d_Vc4c1_dV_c4_c1*GCCin_TM;
staticContributions[admsNodeID_c1] -= (((model_.TYPE)*Vc4c1)*GCCin_TM);
d_staticContributions[admsNodeID_c1][admsProbeID_V_c4_c1] -= (model_.TYPE)*d_Vc4c1_dV_c4_c1*GCCin_TM;
// I(b1,c4) <+ ((TYPE*(Ib3+Iex)))
{
double contribTemp;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b1_b2;
contribTemp= ((model_.TYPE)*(Ib3+Iex));
d_contribTemp_dV_b2_e1 = (model_.TYPE)*d_Ib3_dV_b2_e1;
d_contribTemp_dV_c4_c1 = (model_.TYPE)*(d_Ib3_dV_c4_c1+d_Iex_dV_c4_c1);
d_contribTemp_dV_c1_c2 = (model_.TYPE)*(d_Ib3_dV_c1_c2+d_Iex_dV_c1_c2);
d_contribTemp_dV_b2_c2 = (model_.TYPE)*(d_Ib3_dV_b2_c2+d_Iex_dV_b2_c2);
d_contribTemp_dV_b1_b2 = (model_.TYPE)*(d_Ib3_dV_b1_b2+d_Iex_dV_b1_b2);
staticContributions[admsNodeID_b1] += contribTemp;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_b1][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_b1][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
staticContributions[admsNodeID_c4] -= contribTemp;
d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_c4][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_c4][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_c4][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;

Jdxp_static[admsNodeID_b1] += d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_static[admsNodeID_c4] -= d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(b1,c4) <+ (ddt((TYPE*(Qtex+Qex))))
{
double contribTemp;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_b1_e1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b1_b2;
contribTemp= (((model_.TYPE)*(Qtex+Qex)));
d_contribTemp_dV_b2_c1 = ((model_.TYPE)*d_Qtex_dV_b2_c1);
d_contribTemp_dV_b2_e1 = ((model_.TYPE)*d_Qtex_dV_b2_e1);
d_contribTemp_dV_b1_e1 = ((model_.TYPE)*d_Qtex_dV_b1_e1);
d_contribTemp_dV_c4_c1 = ((model_.TYPE)*(d_Qtex_dV_c4_c1+d_Qex_dV_c4_c1));
d_contribTemp_dV_c1_c2 = ((model_.TYPE)*(d_Qtex_dV_c1_c2+d_Qex_dV_c1_c2));
d_contribTemp_dV_b2_c2 = ((model_.TYPE)*(d_Qtex_dV_b2_c2+d_Qex_dV_b2_c2));
d_contribTemp_dV_b1_b2 = ((model_.TYPE)*(d_Qtex_dV_b1_b2+d_Qex_dV_b1_b2));
dynamicContributions[admsNodeID_b1] += contribTemp;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_e1] += d_contribTemp_dV_b1_e1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
dynamicContributions[admsNodeID_c4] -= contribTemp;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b1_e1] -= d_contribTemp_dV_b1_e1;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;

Jdxp_dynamic[admsNodeID_b1] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_dynamic[admsNodeID_c4] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(b,c4) <+ (ddt((TYPE*(XQtex+XQex))))
{
double contribTemp;
double d_contribTemp_dV_s_c1;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_b1_e1;
double d_contribTemp_dV_c3_c4;
double d_contribTemp_dV_c3_c1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b1_b2;
double d_contribTemp_dV_b_b1;
double d_contribTemp_dV_b_c;
contribTemp= (((model_.TYPE)*(XQtex+XQex)));
d_contribTemp_dV_s_c1 = ((model_.TYPE)*d_XQex_dV_s_c1);
d_contribTemp_dV_b2_c1 = ((model_.TYPE)*(d_XQtex_dV_b2_c1+d_XQex_dV_b2_c1));
d_contribTemp_dV_b2_e1 = ((model_.TYPE)*(d_XQtex_dV_b2_e1+d_XQex_dV_b2_e1));
d_contribTemp_dV_b1_e1 = ((model_.TYPE)*d_XQtex_dV_b1_e1);
d_contribTemp_dV_c3_c4 = ((model_.TYPE)*(d_XQtex_dV_c3_c4+d_XQex_dV_c3_c4));
d_contribTemp_dV_c3_c1 = ((model_.TYPE)*(d_XQtex_dV_c3_c1+d_XQex_dV_c3_c1));
d_contribTemp_dV_c4_c1 = ((model_.TYPE)*(d_XQtex_dV_c4_c1+d_XQex_dV_c4_c1));
d_contribTemp_dV_c1_c2 = ((model_.TYPE)*(d_XQtex_dV_c1_c2+d_XQex_dV_c1_c2));
d_contribTemp_dV_b2_c2 = ((model_.TYPE)*(d_XQtex_dV_b2_c2+d_XQex_dV_b2_c2));
d_contribTemp_dV_b1_b2 = ((model_.TYPE)*(d_XQtex_dV_b1_b2+d_XQex_dV_b1_b2));
d_contribTemp_dV_b_b1 = ((model_.TYPE)*(d_XQtex_dV_b_b1+d_XQex_dV_b_b1));
d_contribTemp_dV_b_c = ((model_.TYPE)*(d_XQtex_dV_b_c+d_XQex_dV_b_c));
dynamicContributions[admsNodeID_b] += contribTemp;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_s_c1] += d_contribTemp_dV_s_c1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b1_e1] += d_contribTemp_dV_b1_e1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_c3_c4] += d_contribTemp_dV_c3_c4;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_c3_c1] += d_contribTemp_dV_c3_c1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_b1] += d_contribTemp_dV_b_b1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_c] += d_contribTemp_dV_b_c;
dynamicContributions[admsNodeID_c4] -= contribTemp;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_s_c1] -= d_contribTemp_dV_s_c1;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b1_e1] -= d_contribTemp_dV_b1_e1;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c3_c4] -= d_contribTemp_dV_c3_c4;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c3_c1] -= d_contribTemp_dV_c3_c1;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b_b1] -= d_contribTemp_dV_b_b1;
d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b_c] -= d_contribTemp_dV_b_c;

Jdxp_dynamic[admsNodeID_b] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_dynamic[admsNodeID_c4] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
}
else
{
// I(b,c1) <+ ((TYPE*XIex))
{
double contribTemp;
double d_contribTemp_dV_s_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_c3_c4;
double d_contribTemp_dV_c3_c1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_b1_b2;
double d_contribTemp_dV_b_b1;
double d_contribTemp_dV_b_c;
contribTemp= ((model_.TYPE)*XIex);
d_contribTemp_dV_s_c1 = (model_.TYPE)*d_XIex_dV_s_c1;
d_contribTemp_dV_c1_c2 = (model_.TYPE)*d_XIex_dV_c1_c2;
d_contribTemp_dV_b2_c1 = (model_.TYPE)*d_XIex_dV_b2_c1;
d_contribTemp_dV_b2_c2 = (model_.TYPE)*d_XIex_dV_b2_c2;
d_contribTemp_dV_b2_e1 = (model_.TYPE)*d_XIex_dV_b2_e1;
d_contribTemp_dV_c3_c4 = (model_.TYPE)*d_XIex_dV_c3_c4;
d_contribTemp_dV_c3_c1 = (model_.TYPE)*d_XIex_dV_c3_c1;
d_contribTemp_dV_c4_c1 = (model_.TYPE)*d_XIex_dV_c4_c1;
d_contribTemp_dV_b1_b2 = (model_.TYPE)*d_XIex_dV_b1_b2;
d_contribTemp_dV_b_b1 = (model_.TYPE)*d_XIex_dV_b_b1;
d_contribTemp_dV_b_c = (model_.TYPE)*d_XIex_dV_b_c;
staticContributions[admsNodeID_b] += contribTemp;
d_staticContributions[admsNodeID_b][admsProbeID_V_s_c1] += d_contribTemp_dV_s_c1;
d_staticContributions[admsNodeID_b][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_b][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_b][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_b][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_b][admsProbeID_V_c3_c4] += d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_b][admsProbeID_V_c3_c1] += d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_b][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_b][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
d_staticContributions[admsNodeID_b][admsProbeID_V_b_b1] += d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_b][admsProbeID_V_b_c] += d_contribTemp_dV_b_c;
staticContributions[admsNodeID_c1] -= contribTemp;
d_staticContributions[admsNodeID_c1][admsProbeID_V_s_c1] -= d_contribTemp_dV_s_c1;
d_staticContributions[admsNodeID_c1][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_c1][admsProbeID_V_c3_c4] -= d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_c1][admsProbeID_V_c3_c1] -= d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_c1][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_c1][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;
d_staticContributions[admsNodeID_c1][admsProbeID_V_b_b1] -= d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_c1][admsProbeID_V_b_c] -= d_contribTemp_dV_b_c;

Jdxp_static[admsNodeID_b] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_static[admsNodeID_c1] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(c,c1) <+ (((TYPE*Vcc3)*GCCxx_TM))
{
double contribTemp;
double d_contribTemp_dV_c3_c4;
double d_contribTemp_dV_c3_c1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b1_b2;
double d_contribTemp_dV_b_b1;
double d_contribTemp_dV_b_c;
contribTemp= (((model_.TYPE)*Vcc3)*GCCxx_TM);
d_contribTemp_dV_c3_c4 = (model_.TYPE)*d_Vcc3_dV_c3_c4*GCCxx_TM;
d_contribTemp_dV_c3_c1 = (model_.TYPE)*d_Vcc3_dV_c3_c1*GCCxx_TM;
d_contribTemp_dV_c4_c1 = (model_.TYPE)*d_Vcc3_dV_c4_c1*GCCxx_TM;
d_contribTemp_dV_c1_c2 = (model_.TYPE)*d_Vcc3_dV_c1_c2*GCCxx_TM;
d_contribTemp_dV_b2_c2 = (model_.TYPE)*d_Vcc3_dV_b2_c2*GCCxx_TM;
d_contribTemp_dV_b1_b2 = (model_.TYPE)*d_Vcc3_dV_b1_b2*GCCxx_TM;
d_contribTemp_dV_b_b1 = (model_.TYPE)*d_Vcc3_dV_b_b1*GCCxx_TM;
d_contribTemp_dV_b_c = (model_.TYPE)*d_Vcc3_dV_b_c*GCCxx_TM;
staticContributions[admsNodeID_c] += contribTemp;
d_staticContributions[admsNodeID_c][admsProbeID_V_c3_c4] += d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_c][admsProbeID_V_c3_c1] += d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_c][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_c][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_c][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_c][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
d_staticContributions[admsNodeID_c][admsProbeID_V_b_b1] += d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_c][admsProbeID_V_b_c] += d_contribTemp_dV_b_c;
staticContributions[admsNodeID_c1] -= contribTemp;
d_staticContributions[admsNodeID_c1][admsProbeID_V_c3_c4] -= d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_c1][admsProbeID_V_c3_c1] -= d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_c1][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_c1][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_c1][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;
d_staticContributions[admsNodeID_c1][admsProbeID_V_b_b1] -= d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_c1][admsProbeID_V_b_c] -= d_contribTemp_dV_b_c;

Jdxp_static[admsNodeID_c] += d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_static[admsNodeID_c1] -= d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// V(c4,c1) <+ (0.0)
// do nothing at all
// I(b1,c1) <+ ((TYPE*(Ib3+Iex)))
{
double contribTemp;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b1_b2;
contribTemp= ((model_.TYPE)*(Ib3+Iex));
d_contribTemp_dV_b2_e1 = (model_.TYPE)*d_Ib3_dV_b2_e1;
d_contribTemp_dV_c4_c1 = (model_.TYPE)*(d_Ib3_dV_c4_c1+d_Iex_dV_c4_c1);
d_contribTemp_dV_c1_c2 = (model_.TYPE)*(d_Ib3_dV_c1_c2+d_Iex_dV_c1_c2);
d_contribTemp_dV_b2_c2 = (model_.TYPE)*(d_Ib3_dV_b2_c2+d_Iex_dV_b2_c2);
d_contribTemp_dV_b1_b2 = (model_.TYPE)*(d_Ib3_dV_b1_b2+d_Iex_dV_b1_b2);
staticContributions[admsNodeID_b1] += contribTemp;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_b1][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_b1][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_b1][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
staticContributions[admsNodeID_c1] -= contribTemp;
d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_c1][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_c1][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_staticContributions[admsNodeID_c1][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;

Jdxp_static[admsNodeID_b1] += d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_static[admsNodeID_c1] -= d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(b1,c1) <+ (ddt((TYPE*(Qtex+Qex))))
{
double contribTemp;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_b1_e1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b1_b2;
contribTemp= (((model_.TYPE)*(Qtex+Qex)));
d_contribTemp_dV_b2_c1 = ((model_.TYPE)*d_Qtex_dV_b2_c1);
d_contribTemp_dV_b2_e1 = ((model_.TYPE)*d_Qtex_dV_b2_e1);
d_contribTemp_dV_b1_e1 = ((model_.TYPE)*d_Qtex_dV_b1_e1);
d_contribTemp_dV_c4_c1 = ((model_.TYPE)*(d_Qtex_dV_c4_c1+d_Qex_dV_c4_c1));
d_contribTemp_dV_c1_c2 = ((model_.TYPE)*(d_Qtex_dV_c1_c2+d_Qex_dV_c1_c2));
d_contribTemp_dV_b2_c2 = ((model_.TYPE)*(d_Qtex_dV_b2_c2+d_Qex_dV_b2_c2));
d_contribTemp_dV_b1_b2 = ((model_.TYPE)*(d_Qtex_dV_b1_b2+d_Qex_dV_b1_b2));
dynamicContributions[admsNodeID_b1] += contribTemp;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_e1] += d_contribTemp_dV_b1_e1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
dynamicContributions[admsNodeID_c1] -= contribTemp;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_e1] -= d_contribTemp_dV_b1_e1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;

Jdxp_dynamic[admsNodeID_b1] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_dynamic[admsNodeID_c1] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(b,c1) <+ (ddt((TYPE*(XQtex+XQex))))
{
double contribTemp;
double d_contribTemp_dV_s_c1;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_b1_e1;
double d_contribTemp_dV_c3_c4;
double d_contribTemp_dV_c3_c1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_b1_b2;
double d_contribTemp_dV_b_b1;
double d_contribTemp_dV_b_c;
contribTemp= (((model_.TYPE)*(XQtex+XQex)));
d_contribTemp_dV_s_c1 = ((model_.TYPE)*d_XQex_dV_s_c1);
d_contribTemp_dV_b2_c1 = ((model_.TYPE)*(d_XQtex_dV_b2_c1+d_XQex_dV_b2_c1));
d_contribTemp_dV_b2_e1 = ((model_.TYPE)*(d_XQtex_dV_b2_e1+d_XQex_dV_b2_e1));
d_contribTemp_dV_b1_e1 = ((model_.TYPE)*d_XQtex_dV_b1_e1);
d_contribTemp_dV_c3_c4 = ((model_.TYPE)*(d_XQtex_dV_c3_c4+d_XQex_dV_c3_c4));
d_contribTemp_dV_c3_c1 = ((model_.TYPE)*(d_XQtex_dV_c3_c1+d_XQex_dV_c3_c1));
d_contribTemp_dV_c4_c1 = ((model_.TYPE)*(d_XQtex_dV_c4_c1+d_XQex_dV_c4_c1));
d_contribTemp_dV_c1_c2 = ((model_.TYPE)*(d_XQtex_dV_c1_c2+d_XQex_dV_c1_c2));
d_contribTemp_dV_b2_c2 = ((model_.TYPE)*(d_XQtex_dV_b2_c2+d_XQex_dV_b2_c2));
d_contribTemp_dV_b1_b2 = ((model_.TYPE)*(d_XQtex_dV_b1_b2+d_XQex_dV_b1_b2));
d_contribTemp_dV_b_b1 = ((model_.TYPE)*(d_XQtex_dV_b_b1+d_XQex_dV_b_b1));
d_contribTemp_dV_b_c = ((model_.TYPE)*(d_XQtex_dV_b_c+d_XQex_dV_b_c));
dynamicContributions[admsNodeID_b] += contribTemp;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_s_c1] += d_contribTemp_dV_s_c1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b1_e1] += d_contribTemp_dV_b1_e1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_c3_c4] += d_contribTemp_dV_c3_c4;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_c3_c1] += d_contribTemp_dV_c3_c1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_b1] += d_contribTemp_dV_b_b1;
d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_c] += d_contribTemp_dV_b_c;
dynamicContributions[admsNodeID_c1] -= contribTemp;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_s_c1] -= d_contribTemp_dV_s_c1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_e1] -= d_contribTemp_dV_b1_e1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c3_c4] -= d_contribTemp_dV_c3_c4;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c3_c1] -= d_contribTemp_dV_c3_c1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b_b1] -= d_contribTemp_dV_b_b1;
d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b_c] -= d_contribTemp_dV_b_c;

Jdxp_dynamic[admsNodeID_b] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_dynamic[admsNodeID_c1] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b1_e1*probeDiffs[admsProbeID_V_b1_e1]*d_probeVars[admsProbeID_V_b1_e1][admsProbeID_V_b1_e1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(c3,c1) <+ (((TYPE*Vc3c4)*GCCex_TM))
staticContributions[admsNodeID_c3] += (((model_.TYPE)*Vc3c4)*GCCex_TM);
d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c4] += (model_.TYPE)*d_Vc3c4_dV_c3_c4*GCCex_TM;
d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c1] += (model_.TYPE)*d_Vc3c4_dV_c3_c1*GCCex_TM;
staticContributions[admsNodeID_c1] -= (((model_.TYPE)*Vc3c4)*GCCex_TM);
d_staticContributions[admsNodeID_c1][admsProbeID_V_c3_c4] -= (model_.TYPE)*d_Vc3c4_dV_c3_c4*GCCex_TM;
d_staticContributions[admsNodeID_c1][admsProbeID_V_c3_c1] -= (model_.TYPE)*d_Vc3c4_dV_c3_c1*GCCex_TM;
}
}
{
common = ((4.0*1.3806226e-23)*Tk);
powerREC = (common/RE_TM);
powerRBC = (common/RBC_TM);
powerRCCxx = (common*GCCxx_TM);
powerRCCex = (common*GCCex_TM);
powerRCCin = (common*GCCin_TM);
powerRBV = (((common/Rb2)*((4.0*eVb1b2)+5.0))*0.33333333333333333333);

d_In_N_dV_c1_c2 = ((qBI*d_Ir_dV_c1_c2-(If+Ir)*d_qBI_dV_c1_c2)/qBI/qBI);
d_In_N_dV_b2_c1 = ((qBI*d_Ir_dV_b2_c1-(If+Ir)*d_qBI_dV_b2_c1)/qBI/qBI);
d_In_N_dV_b2_c2 = ((qBI*d_Ir_dV_b2_c2-(If+Ir)*d_qBI_dV_b2_c2)/qBI/qBI);
d_In_N_dV_b2_e1 = ((qBI*d_If_dV_b2_e1-(If+Ir)*d_qBI_dV_b2_e1)/qBI/qBI);
In_N = ((If+Ir)/qBI);
{
double value_fabs_0 = fabs(In_N);
double  deriv_fabs_0_d0 = (((In_N)>=0)?(+1.0):(-1.0));
powerCCS = ((2.0*1.6021918e-19)*value_fabs_0);
}
if (((model_.KAVL)>0))
{
{
double value_fabs_0 = fabs((Iavl/In_N));
double  deriv_fabs_0_d0 = ((((Iavl/In_N))>=0)?(+1.0):(-1.0));

d_Gem_N_dV_b2_e1 = (deriv_fabs_0_d0*(((In_N*d_Iavl_dV_b2_e1-Iavl*d_In_N_dV_b2_e1)/In_N/In_N)));
d_Gem_N_dV_c3_c4 = (deriv_fabs_0_d0*((d_Iavl_dV_c3_c4/In_N)));
d_Gem_N_dV_c3_c1 = (deriv_fabs_0_d0*((d_Iavl_dV_c3_c1/In_N)));
d_Gem_N_dV_c4_c1 = (deriv_fabs_0_d0*((d_Iavl_dV_c4_c1/In_N)));
d_Gem_N_dV_b1_b2 = (deriv_fabs_0_d0*((d_Iavl_dV_b1_b2/In_N)));
d_Gem_N_dV_b_b1 = (deriv_fabs_0_d0*((d_Iavl_dV_b_b1/In_N)));
d_Gem_N_dV_b_c = (deriv_fabs_0_d0*((d_Iavl_dV_b_c/In_N)));
d_Gem_N_dV_c1_c2 = (deriv_fabs_0_d0*(((In_N*d_Iavl_dV_c1_c2-Iavl*d_In_N_dV_c1_c2)/In_N/In_N)));
d_Gem_N_dV_b2_c1 = (deriv_fabs_0_d0*(((In_N*d_Iavl_dV_b2_c1-Iavl*d_In_N_dV_b2_c1)/In_N/In_N)));
d_Gem_N_dV_b2_c2 = (deriv_fabs_0_d0*(((In_N*d_Iavl_dV_b2_c2-Iavl*d_In_N_dV_b2_c2)/In_N/In_N)));
Gem_N = value_fabs_0;
}
}
else
{

d_Gem_N_dV_b2_c2 = d_Gem_N_dV_b2_c1 = d_Gem_N_dV_c1_c2 = d_Gem_N_dV_b_c = d_Gem_N_dV_b_b1 = d_Gem_N_dV_b1_b2 = d_Gem_N_dV_c4_c1 = d_Gem_N_dV_c3_c1 = d_Gem_N_dV_c3_c4 = d_Gem_N_dV_b2_e1 =  0.0;
Gem_N = 0.0;
}
powerIIS = (((2.0*1.6021918e-19)*Iavl)*(Gem_N+1));
if ((In_N>0.0))
{

d_Taub_N_dV_c1_c2 = ((In_N*(d_Qbe_dV_c1_c2+d_Qbc_dV_c1_c2)-(Qbe+Qbc)*d_In_N_dV_c1_c2)/In_N/In_N);
d_Taub_N_dV_b2_c1 = ((In_N*(d_Qbe_dV_b2_c1+d_Qbc_dV_b2_c1)-(Qbe+Qbc)*d_In_N_dV_b2_c1)/In_N/In_N);
d_Taub_N_dV_b2_c2 = ((In_N*(d_Qbe_dV_b2_c2+d_Qbc_dV_b2_c2)-(Qbe+Qbc)*d_In_N_dV_b2_c2)/In_N/In_N);
d_Taub_N_dV_c3_c4 = ((d_Qbe_dV_c3_c4+d_Qbc_dV_c3_c4)/In_N);
d_Taub_N_dV_c3_c1 = ((d_Qbe_dV_c3_c1+d_Qbc_dV_c3_c1)/In_N);
d_Taub_N_dV_c4_c1 = ((d_Qbe_dV_c4_c1+d_Qbc_dV_c4_c1)/In_N);
d_Taub_N_dV_b1_b2 = ((d_Qbe_dV_b1_b2+d_Qbc_dV_b1_b2)/In_N);
d_Taub_N_dV_b_b1 = ((d_Qbe_dV_b_b1+d_Qbc_dV_b_b1)/In_N);
d_Taub_N_dV_b_c = ((d_Qbe_dV_b_c+d_Qbc_dV_b_c)/In_N);
d_Taub_N_dV_b2_e1 = ((In_N*(d_Qbe_dV_b2_e1+d_Qbc_dV_b2_e1)-(Qbe+Qbc)*d_In_N_dV_b2_e1)/In_N/In_N);
Taub_N = ((Qbe+Qbc)/In_N);
}
else
{

d_Taub_N_dV_c1_c2 = ((TAUB_T*q1Q)*d_qBI_dV_c1_c2+TAUB_T*d_q1Q_dV_c1_c2*qBI);
d_Taub_N_dV_b2_c1 = ((TAUB_T*q1Q)*d_qBI_dV_b2_c1+TAUB_T*d_q1Q_dV_b2_c1*qBI);
d_Taub_N_dV_b2_c2 = ((TAUB_T*q1Q)*d_qBI_dV_b2_c2+TAUB_T*d_q1Q_dV_b2_c2*qBI);
d_Taub_N_dV_b2_e1 = ((TAUB_T*q1Q)*d_qBI_dV_b2_e1+TAUB_T*d_q1Q_dV_b2_e1*qBI);
d_Taub_N_dV_c3_c4 = TAUB_T*d_q1Q_dV_c3_c4*qBI;
d_Taub_N_dV_c3_c1 = TAUB_T*d_q1Q_dV_c3_c1*qBI;
d_Taub_N_dV_c4_c1 = TAUB_T*d_q1Q_dV_c4_c1*qBI;
d_Taub_N_dV_b1_b2 = TAUB_T*d_q1Q_dV_b1_b2*qBI;
d_Taub_N_dV_b_b1 = TAUB_T*d_q1Q_dV_b_b1*qBI;
d_Taub_N_dV_b_c = TAUB_T*d_q1Q_dV_b_c*qBI;
Taub_N = ((TAUB_T*q1Q)*qBI);
}
if (((model_.KC)==1))
{

d_taun_dV_c1_c2 = (model_.XQB)*d_Taub_N_dV_c1_c2;
d_taun_dV_b2_c1 = (model_.XQB)*d_Taub_N_dV_b2_c1;
d_taun_dV_b2_c2 = (model_.XQB)*d_Taub_N_dV_b2_c2;
d_taun_dV_c3_c4 = (model_.XQB)*d_Taub_N_dV_c3_c4;
d_taun_dV_c3_c1 = (model_.XQB)*d_Taub_N_dV_c3_c1;
d_taun_dV_c4_c1 = (model_.XQB)*d_Taub_N_dV_c4_c1;
d_taun_dV_b1_b2 = (model_.XQB)*d_Taub_N_dV_b1_b2;
d_taun_dV_b_b1 = (model_.XQB)*d_Taub_N_dV_b_b1;
d_taun_dV_b_c = (model_.XQB)*d_Taub_N_dV_b_c;
d_taun_dV_b2_e1 = (model_.XQB)*d_Taub_N_dV_b2_e1;
taun = ((model_.XQB)*Taub_N);
}
else
{
if (((model_.KC)==2))
{

d_taun_dV_c1_c2 = (model_.FTAUN)*d_Taub_N_dV_c1_c2;
d_taun_dV_b2_c1 = (model_.FTAUN)*d_Taub_N_dV_b2_c1;
d_taun_dV_b2_c2 = (model_.FTAUN)*d_Taub_N_dV_b2_c2;
d_taun_dV_c3_c4 = (model_.FTAUN)*d_Taub_N_dV_c3_c4;
d_taun_dV_c3_c1 = (model_.FTAUN)*d_Taub_N_dV_c3_c1;
d_taun_dV_c4_c1 = (model_.FTAUN)*d_Taub_N_dV_c4_c1;
d_taun_dV_b1_b2 = (model_.FTAUN)*d_Taub_N_dV_b1_b2;
d_taun_dV_b_b1 = (model_.FTAUN)*d_Taub_N_dV_b_b1;
d_taun_dV_b_c = (model_.FTAUN)*d_Taub_N_dV_b_c;
d_taun_dV_b2_e1 = (model_.FTAUN)*d_Taub_N_dV_b2_e1;
taun = ((model_.FTAUN)*Taub_N);
}
else
{

d_taun_dV_b2_e1 = d_taun_dV_b_c = d_taun_dV_b_b1 = d_taun_dV_b1_b2 = d_taun_dV_c4_c1 = d_taun_dV_c3_c1 = d_taun_dV_c3_c4 = d_taun_dV_b2_c2 = d_taun_dV_b2_c1 = d_taun_dV_c1_c2 =  0.0;
taun = 0;
}
}
{
double value_fabs_0 = fabs(Ib1);
double value_fabs_1 = fabs(Ib2);
double value_fabs_2 = fabs(Izteb);
double  deriv_fabs_0_d0 = (((Ib1)>=0)?(+1.0):(-1.0));
double  deriv_fabs_1_d0 = (((Ib2)>=0)?(+1.0):(-1.0));
double  deriv_fabs_2_d0 = (((Izteb)>=0)?(+1.0):(-1.0));
powerFBCS = ((2.0*1.6021918e-19)*((value_fabs_0+value_fabs_1)+value_fabs_2));
}
{
double value_fabs_0 = fabs(Ib1);
double value_pow_1 = pow((value_fabs_0/(1-(model_.XIBI))),(model_.AF));
double  deriv_fabs_0_d0 = (((Ib1)>=0)?(+1.0):(-1.0));
double  deriv_pow_1_d0 = (((value_fabs_0/(1-(model_.XIBI))) == 0.0)?0.0:(value_pow_1*(model_.AF)/(value_fabs_0/(1-(model_.XIBI)))));
powerFBC1fB1 = (((1.0-(model_.XIBI))*value_pow_1)*KF_M);
}
exponentFBC1fB2 = ((2.0*((model_.MLF)-1.0))+((model_.AF)*(2.0-(model_.MLF))));
{
double value_fabs_0 = fabs(Ib2);
double value_pow_1 = pow(value_fabs_0,exponentFBC1fB2);
double  deriv_fabs_0_d0 = (((Ib2)>=0)?(+1.0):(-1.0));
double  deriv_pow_1_d0 = ((value_fabs_0 == 0.0)?0.0:(value_pow_1*exponentFBC1fB2/value_fabs_0));
powerFBC1fB2 = (KFN_M*value_pow_1);
}
{
double value_fabs_0 = fabs(Ib1_s);
double  deriv_fabs_0_d0 = (((Ib1_s)>=0)?(+1.0):(-1.0));
powerEBSCS = ((2.0*1.6021918e-19)*value_fabs_0);
}
if (((model_.XIBI)==0))
{
powerEBSC1f = 0.0;
}
else
{
{
double value_fabs_0 = fabs((Ib1_s/(model_.XIBI)));
double value_pow_1 = pow(value_fabs_0,(model_.AF));
double  deriv_fabs_0_d0 = ((((Ib1_s/(model_.XIBI)))>=0)?(+1.0):(-1.0));
double  deriv_pow_1_d0 = ((value_fabs_0 == 0.0)?0.0:(value_pow_1*(model_.AF)/value_fabs_0));
powerEBSC1f = ((KF_M*(model_.XIBI))*value_pow_1);
}
}
{
double value_fabs_0 = fabs(Ib3);
double  deriv_fabs_0_d0 = (((Ib3)>=0)?(+1.0):(-1.0));
powerRBCS = ((2.0*1.6021918e-19)*value_fabs_0);
}
{
double value_fabs_0 = fabs(Ib3);
double value_pow_1 = pow(value_fabs_0,(model_.AF));
double  deriv_fabs_0_d0 = (((Ib3)>=0)?(+1.0):(-1.0));
double  deriv_pow_1_d0 = ((value_fabs_0 == 0.0)?0.0:(value_pow_1*(model_.AF)/value_fabs_0));
powerRBC1f = (KF_M*value_pow_1);
}
{
double value_fabs_0 = fabs(Iex);
double  deriv_fabs_0_d0 = (((Iex)>=0)?(+1.0):(-1.0));
powerExCS = ((2.0*1.6021918e-19)*value_fabs_0);
}
{
double value_fabs_0 = fabs(Iex);
double value_pow_1 = pow((value_fabs_0/(1-((model_.EXMOD)*(model_.XEXT)))),(model_.AF));
double  deriv_fabs_0_d0 = (((Iex)>=0)?(+1.0):(-1.0));
double  deriv_pow_1_d0 = (((value_fabs_0/(1-((model_.EXMOD)*(model_.XEXT)))) == 0.0)?0.0:(value_pow_1*(model_.AF)/(value_fabs_0/(1-((model_.EXMOD)*(model_.XEXT))))));
powerExC1f = ((KF_M*(1-((model_.EXMOD)*(model_.XEXT))))*value_pow_1);
}
{
double value_fabs_0 = fabs(XIex);
double  deriv_fabs_0_d0 = (((XIex)>=0)?(+1.0):(-1.0));
powerExCSMOD = (((2.0*1.6021918e-19)*value_fabs_0)*(model_.EXMOD));
}
if (((model_.XEXT)==0.0))
{
powerExC1fMOD = 0.0;
}
else
{
{
double value_fabs_0 = fabs(XIex);
double value_pow_1 = pow((value_fabs_0/(model_.XEXT)),(model_.AF));
double  deriv_fabs_0_d0 = (((XIex)>=0)?(+1.0):(-1.0));
double  deriv_pow_1_d0 = (((value_fabs_0/(model_.XEXT)) == 0.0)?0.0:(value_pow_1*(model_.AF)/(value_fabs_0/(model_.XEXT))));
powerExC1fMOD = (((KF_M*(model_.EXMOD))*(model_.XEXT))*value_pow_1);
}
}
{
double value_fabs_0 = fabs(Isub);
double  deriv_fabs_0_d0 = (((Isub)>=0)?(+1.0):(-1.0));
powerSubsCS_B1S = ((2.0*1.6021918e-19)*value_fabs_0);
}
{
double value_fabs_0 = fabs(XIsub);
double  deriv_fabs_0_d0 = (((XIsub)>=0)?(+1.0):(-1.0));
powerSubsCS_BS = ((2.0*1.6021918e-19)*value_fabs_0);
}
// I(noi,GND) <+ (white_noise(powerCCS))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[0]= powerCCS;
}
// I(noi,GND) <+ (V(noi,GND))
staticContributions[admsNodeID_noi] += (probeVars[admsProbeID_V_noi_GND]);
d_staticContributions[admsNodeID_noi][admsProbeID_V_noi_GND] += d_probeVars[admsProbeID_V_noi_GND][admsProbeID_V_noi_GND];
// I(b2,e1) <+ ((taun*ddt(V(noi,GND))))
{
double contribTemp;
double d_contribTemp_dV_noi_GND;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_c2;
double d_contribTemp_dV_c3_c4;
double d_contribTemp_dV_c3_c1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_b1_b2;
double d_contribTemp_dV_b_b1;
double d_contribTemp_dV_b_c;
double d_contribTemp_dV_b2_e1;
contribTemp= (taun*((probeVars[admsProbeID_V_noi_GND])));
d_contribTemp_dV_noi_GND = taun*(d_probeVars[admsProbeID_V_noi_GND][admsProbeID_V_noi_GND]);
d_contribTemp_dV_c1_c2 = (taun*(0.0)+d_taun_dV_c1_c2*((probeVars[admsProbeID_V_noi_GND])));
d_contribTemp_dV_b2_c1 = (taun*(0.0)+d_taun_dV_b2_c1*((probeVars[admsProbeID_V_noi_GND])));
d_contribTemp_dV_b2_c2 = (taun*(0.0)+d_taun_dV_b2_c2*((probeVars[admsProbeID_V_noi_GND])));
d_contribTemp_dV_c3_c4 = (taun*(0.0)+d_taun_dV_c3_c4*((probeVars[admsProbeID_V_noi_GND])));
d_contribTemp_dV_c3_c1 = (taun*(0.0)+d_taun_dV_c3_c1*((probeVars[admsProbeID_V_noi_GND])));
d_contribTemp_dV_c4_c1 = (taun*(0.0)+d_taun_dV_c4_c1*((probeVars[admsProbeID_V_noi_GND])));
d_contribTemp_dV_b1_b2 = (taun*(0.0)+d_taun_dV_b1_b2*((probeVars[admsProbeID_V_noi_GND])));
d_contribTemp_dV_b_b1 = (taun*(0.0)+d_taun_dV_b_b1*((probeVars[admsProbeID_V_noi_GND])));
d_contribTemp_dV_b_c = (taun*(0.0)+d_taun_dV_b_c*((probeVars[admsProbeID_V_noi_GND])));
d_contribTemp_dV_b2_e1 = (taun*(0.0)+d_taun_dV_b2_e1*((probeVars[admsProbeID_V_noi_GND])));
dynamicContributions[admsNodeID_b2] += contribTemp;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_noi_GND] += d_contribTemp_dV_noi_GND;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c3_c4] += d_contribTemp_dV_c3_c4;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c3_c1] += d_contribTemp_dV_c3_c1;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_b1] += d_contribTemp_dV_b_b1;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_c] += d_contribTemp_dV_b_c;
d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
dynamicContributions[admsNodeID_e1] -= contribTemp;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_noi_GND] -= d_contribTemp_dV_noi_GND;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c3_c4] -= d_contribTemp_dV_c3_c4;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c3_c1] -= d_contribTemp_dV_c3_c1;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b_b1] -= d_contribTemp_dV_b_b1;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b_c] -= d_contribTemp_dV_b_c;
d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;

Jdxp_dynamic[admsNodeID_b2] += d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
Jdxp_dynamic[admsNodeID_e1] -= d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2]+d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2];
}
// I(c2,b2) <+ ((Gem_N*V(noi,GND)))
{
double contribTemp;
double d_contribTemp_dV_noi_GND;
double d_contribTemp_dV_b2_e1;
double d_contribTemp_dV_c3_c4;
double d_contribTemp_dV_c3_c1;
double d_contribTemp_dV_c4_c1;
double d_contribTemp_dV_b1_b2;
double d_contribTemp_dV_b_b1;
double d_contribTemp_dV_b_c;
double d_contribTemp_dV_c1_c2;
double d_contribTemp_dV_b2_c1;
double d_contribTemp_dV_b2_c2;
contribTemp= (Gem_N*(probeVars[admsProbeID_V_noi_GND]));
d_contribTemp_dV_noi_GND = Gem_N*d_probeVars[admsProbeID_V_noi_GND][admsProbeID_V_noi_GND];
d_contribTemp_dV_b2_e1 = d_Gem_N_dV_b2_e1*(probeVars[admsProbeID_V_noi_GND]);
d_contribTemp_dV_c3_c4 = d_Gem_N_dV_c3_c4*(probeVars[admsProbeID_V_noi_GND]);
d_contribTemp_dV_c3_c1 = d_Gem_N_dV_c3_c1*(probeVars[admsProbeID_V_noi_GND]);
d_contribTemp_dV_c4_c1 = d_Gem_N_dV_c4_c1*(probeVars[admsProbeID_V_noi_GND]);
d_contribTemp_dV_b1_b2 = d_Gem_N_dV_b1_b2*(probeVars[admsProbeID_V_noi_GND]);
d_contribTemp_dV_b_b1 = d_Gem_N_dV_b_b1*(probeVars[admsProbeID_V_noi_GND]);
d_contribTemp_dV_b_c = d_Gem_N_dV_b_c*(probeVars[admsProbeID_V_noi_GND]);
d_contribTemp_dV_c1_c2 = d_Gem_N_dV_c1_c2*(probeVars[admsProbeID_V_noi_GND]);
d_contribTemp_dV_b2_c1 = d_Gem_N_dV_b2_c1*(probeVars[admsProbeID_V_noi_GND]);
d_contribTemp_dV_b2_c2 = d_Gem_N_dV_b2_c2*(probeVars[admsProbeID_V_noi_GND]);
staticContributions[admsNodeID_c2] += contribTemp;
d_staticContributions[admsNodeID_c2][admsProbeID_V_noi_GND] += d_contribTemp_dV_noi_GND;
d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_e1] += d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_c2][admsProbeID_V_c3_c4] += d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_c2][admsProbeID_V_c3_c1] += d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_c2][admsProbeID_V_c4_c1] += d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_c2][admsProbeID_V_b1_b2] += d_contribTemp_dV_b1_b2;
d_staticContributions[admsNodeID_c2][admsProbeID_V_b_b1] += d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_c2][admsProbeID_V_b_c] += d_contribTemp_dV_b_c;
d_staticContributions[admsNodeID_c2][admsProbeID_V_c1_c2] += d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_c1] += d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_c2] += d_contribTemp_dV_b2_c2;
staticContributions[admsNodeID_b2] -= contribTemp;
d_staticContributions[admsNodeID_b2][admsProbeID_V_noi_GND] -= d_contribTemp_dV_noi_GND;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_e1] -= d_contribTemp_dV_b2_e1;
d_staticContributions[admsNodeID_b2][admsProbeID_V_c3_c4] -= d_contribTemp_dV_c3_c4;
d_staticContributions[admsNodeID_b2][admsProbeID_V_c3_c1] -= d_contribTemp_dV_c3_c1;
d_staticContributions[admsNodeID_b2][admsProbeID_V_c4_c1] -= d_contribTemp_dV_c4_c1;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b1_b2] -= d_contribTemp_dV_b1_b2;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b_b1] -= d_contribTemp_dV_b_b1;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b_c] -= d_contribTemp_dV_b_c;
d_staticContributions[admsNodeID_b2][admsProbeID_V_c1_c2] -= d_contribTemp_dV_c1_c2;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_c1] -= d_contribTemp_dV_b2_c1;
d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_c2] -= d_contribTemp_dV_b2_c2;

Jdxp_static[admsNodeID_c2] += d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2]+d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2];
Jdxp_static[admsNodeID_b2] -= d_contribTemp_dV_b1_b2*probeDiffs[admsProbeID_V_b1_b2]*d_probeVars[admsProbeID_V_b1_b2][admsProbeID_V_b1_b2]+d_contribTemp_dV_b2_c1*probeDiffs[admsProbeID_V_b2_c1]*d_probeVars[admsProbeID_V_b2_c1][admsProbeID_V_b2_c1]+d_contribTemp_dV_b2_c2*probeDiffs[admsProbeID_V_b2_c2]*d_probeVars[admsProbeID_V_b2_c2][admsProbeID_V_b2_c2];
}
// I(c2,e1) <+ (V(noi,GND))
staticContributions[admsNodeID_c2] += (probeVars[admsProbeID_V_noi_GND]);
d_staticContributions[admsNodeID_c2][admsProbeID_V_noi_GND] += d_probeVars[admsProbeID_V_noi_GND][admsProbeID_V_noi_GND];
staticContributions[admsNodeID_e1] -= (probeVars[admsProbeID_V_noi_GND]);
d_staticContributions[admsNodeID_e1][admsProbeID_V_noi_GND] -= d_probeVars[admsProbeID_V_noi_GND][admsProbeID_V_noi_GND];
// I(c2,b2) <+ (white_noise(powerIIS))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[1]= powerIIS;
}
// I(b2,e1) <+ (white_noise(powerFBCS))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[2]= powerFBCS;
}
// I(e,e1) <+ (white_noise(powerREC))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[3]= powerREC;
}
// I(b,b1) <+ (white_noise(powerRBC))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[4]= powerRBC;
}
// I(b1,b2) <+ (white_noise(powerRBV))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[5]= powerRBV;
}
// I(b2,e1) <+ (flicker_noise(powerFBC1fB1,1))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[6]= powerFBC1fB1;
  noiseContribsExponent[6]= 1;
}
// I(b2,e1) <+ (flicker_noise(powerFBC1fB2,1))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[7]= powerFBC1fB2;
  noiseContribsExponent[7]= 1;
}
// I(e1,b1) <+ (white_noise(powerEBSCS))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[8]= powerEBSCS;
}
// I(e1,b1) <+ (flicker_noise(powerEBSC1f,1))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[9]= powerEBSC1f;
  noiseContribsExponent[9]= 1;
}
// I(b1,c4) <+ (white_noise(powerRBCS))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[10]= powerRBCS;
}
// I(b1,c4) <+ (flicker_noise(powerRBC1f,1))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[11]= powerRBC1f;
  noiseContribsExponent[11]= 1;
}
// I(b1,c4) <+ (white_noise(powerExCS))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[12]= powerExCS;
}
// I(b1,c4) <+ (flicker_noise(powerExC1f,1))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[13]= powerExC1f;
  noiseContribsExponent[13]= 1;
}
// I(b,c3) <+ (white_noise(powerExCSMOD))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[14]= powerExCSMOD;
}
// I(b,c3) <+ (flicker_noise(powerExC1fMOD,1))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[15]= powerExC1fMOD;
  noiseContribsExponent[15]= 1;
}
// I(b1,s) <+ (white_noise(powerSubsCS_B1S))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[16]= powerSubsCS_B1S;
}
// I(b,s) <+ (white_noise(powerSubsCS_BS))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[17]= powerSubsCS_BS;
}
if (((model_.RCBLX)>0.0))
{
if (((model_.RCBLI)>0.0))
{
// I(c,c3) <+ (white_noise(powerRCCxx))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[18]= powerRCCxx;
}
// I(c3,c4) <+ (white_noise(powerRCCex))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[19]= powerRCCex;
}
// I(c4,c1) <+ (white_noise(powerRCCin))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[20]= powerRCCin;
}
}
else
{
// I(c,c3) <+ (white_noise(powerRCCxx))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[21]= powerRCCxx;
}
// I(c3,c1) <+ (white_noise(powerRCCex))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[22]= powerRCCex;
}
}
}
else
{
if (((model_.RCBLI)>0.0))
{
// I(c,c4) <+ (white_noise(powerRCCxx))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[23]= powerRCCxx;
}
// I(c4,c1) <+ (white_noise(powerRCCin))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[24]= powerRCCin;
}
}
else
{
// I(c,c1) <+ (white_noise(powerRCCxx))
if (getSolverState().noiseFlag)
{
  noiseContribsPower[25]= powerRCCxx;
}
}
}
}
{
OP_vbe = (probeVars[admsProbeID_V_b_e]);
OP_vce = (probeVars[admsProbeID_V_c_e]);
OP_vbc = (probeVars[admsProbeID_V_b_c]);
OP_vse = (probeVars[admsProbeID_V_s_e]);
OP_vbs = (probeVars[admsProbeID_V_b_s]);
OP_vsc = (probeVars[admsProbeID_V_s_c]);
OP_vb2e1 = Vb2e1;
OP_vb2c2 = Vb2c2;
OP_vb2c1 = Vb2c1;
OP_vb1c1 = (Vb1b2+Vb2c1);
OP_vc4c1 = Vc4c1;
OP_vc3c4 = Vc3c4;
OP_ve1e = (-Vee1);
OP_in = In;
OP_ic1c2 = Ic1c2;
OP_ib1b2 = Ib1b2;
OP_ib1 = Ib1;
OP_sib1 = Ib1_s;
OP_izteb = Izteb;
OP_ib2 = Ib2;
OP_ib3 = Ib3;
OP_iavl = Iavl;
OP_iex = Iex;
OP_xiex = XIex;
OP_isub = Isub;
OP_xisub = XIsub;
OP_isf = Isf;
OP_ire = ((-Vee1)/RE_TM);
OP_irbc = (Vbb1/RBC_TM);
OP_ircc = (Vcc3*GCCxx_TM);
OP_ircblx = (Vc3c4*GCCex_TM);
OP_ircbli = (Vc4c1*GCCin_TM);
OP_qe = Qe;
OP_qte = Qte;
OP_sqte = Qte_s;
OP_qbe = Qbe;
OP_qbc = Qbc;
OP_qtc = Qtc;
OP_qepi = Qepi;
OP_qb1b2 = Qb1b2;
OP_qtex = Qtex;
OP_xqtex = XQtex;
OP_qex = Qex;
OP_xqex = XQex;
OP_qts = Qts;
OP_gx = (-(-d_In_dV_b2_e1));
OP_gy = (-(-d_In_dV_c1_c2-d_In_dV_b2_c2));
OP_gz = (-(+d_In_dV_c1_c2-d_In_dV_b2_c1));
OP_sgpi = ((-0.0)-(-d_Ib1_s_dV_b1_e1));
OP_gpix = (-(-(d_Ib1_dV_b2_e1+d_Ib2_dV_b2_e1)));
OP_gpiy = (-(-d_Ib1_dV_c1_c2-d_Ib1_dV_b2_c2));
OP_gpiz = (-(+d_Ib1_dV_c1_c2-d_Ib1_dV_b2_c1));
OP_gmux = (-d_Iavl_dV_b2_e1);
OP_gmuy = (-d_Iavl_dV_c1_c2-d_Iavl_dV_b2_c2);
OP_gmuz = (-d_Iavl_dV_c3_c1-d_Iavl_dV_c4_c1+d_Iavl_dV_c1_c2-d_Iavl_dV_b2_c1);
OP_gmuex = ((((+(d_Iex_dV_b1_b2+d_Ib3_dV_b1_b2))+(+d_Ib3_dV_b2_e1+(d_Iex_dV_b2_c2+d_Ib3_dV_b2_c2)-(d_Iex_dV_b1_b2+d_Ib3_dV_b1_b2)))+(-d_Ib3_dV_b2_e1))+(-(d_Iex_dV_c1_c2+d_Ib3_dV_c1_c2)-(d_Iex_dV_b2_c2+d_Ib3_dV_b2_c2)));
OP_xgmuex = (+d_XIex_dV_b_b1+d_XIex_dV_b_c);
OP_grcvy = (-(-d_Ic1c2_dV_c1_c2-d_Ic1c2_dV_b2_c2));
OP_grcvz = (-(+d_Ic1c2_dV_c1_c2-d_Ic1c2_dV_b2_c1));
OP_rbv = (1.0/((-(+d_Ib1b2_dV_b2_c1+d_Ib1b2_dV_b2_c2+d_Ib1b2_dV_b2_e1-d_Ib1b2_dV_b1_b2))-(-d_Ib1b2_dV_c1_c2-d_Ib1b2_dV_b2_c2)));
OP_grbvx = ((-0.0)-(-d_Ib1b2_dV_b2_e1));
OP_grbvy = (-(-d_Ib1b2_dV_c1_c2-d_Ib1b2_dV_b2_c2));
OP_grbvz = (-(+d_Ib1b2_dV_c1_c2-d_Ib1b2_dV_b2_c1-d_Ib1b2_dV_c3_c1-d_Ib1b2_dV_c4_c1));
OP_re = RE_TM;
OP_rbc = RBC_TM;
OP_rcc = RCCxx_TM;
OP_rcblx = RCCex_TM;
OP_rcbli = RCCin_TM;
OP_gs = (+d_Isub_dV_b1_b2);
OP_xgs = (+d_XIsub_dV_b_b1+d_XIsub_dV_b_c);
OP_gsf = (+d_Isf_dV_s_c1);
OP_scbe = ((-0.0)-(-d_Qte_s_dV_b2_e1-d_Qte_s_dV_b1_e1));
OP_cbex = (-(-((d_Qte_dV_b2_e1+d_Qbe_dV_b2_e1)+d_Qe_dV_b2_e1)));
OP_cbey = (-(-d_Qbe_dV_c1_c2-d_Qbe_dV_b2_c2));
OP_cbez = (-(+d_Qbe_dV_c1_c2-d_Qbe_dV_b2_c1-d_Qbe_dV_c3_c1-d_Qbe_dV_c4_c1));
OP_cbcx = ((-0.0)-(-d_Qbc_dV_b2_e1));
OP_cbcy = (-(-((d_Qtc_dV_c1_c2+d_Qbc_dV_c1_c2)+d_Qepi_dV_c1_c2)-((d_Qtc_dV_b2_c2+d_Qbc_dV_b2_c2)+d_Qepi_dV_b2_c2)));
OP_cbcz = (-(-d_Qbc_dV_c3_c1-d_Qbc_dV_c4_c1+((d_Qtc_dV_c1_c2+d_Qbc_dV_c1_c2)+d_Qepi_dV_c1_c2)-((d_Qtc_dV_b2_c1+d_Qbc_dV_b2_c1)+d_Qepi_dV_b2_c1)));
OP_cbcex = ((((+d_Qtex_dV_b1_e1+(d_Qtex_dV_b1_b2+d_Qex_dV_b1_b2))+(+d_Qtex_dV_b2_c1+d_Qtex_dV_b2_e1+(d_Qtex_dV_b2_c2+d_Qex_dV_b2_c2)-(d_Qtex_dV_b1_b2+d_Qex_dV_b1_b2)))+(-d_Qtex_dV_b2_e1-d_Qtex_dV_b1_e1))+(-(d_Qtex_dV_c1_c2+d_Qex_dV_c1_c2)-(d_Qtex_dV_b2_c2+d_Qex_dV_b2_c2)));
OP_xcbcex = (+(d_XQtex_dV_b_b1+d_XQex_dV_b_b1)+(d_XQtex_dV_b_c+d_XQex_dV_b_c));
OP_cb1b2 = ((-(+d_Qb1b2_dV_b2_c1+d_Qb1b2_dV_b2_c2+d_Qb1b2_dV_b2_e1-d_Qb1b2_dV_b1_b2))-(-d_Qb1b2_dV_c1_c2-d_Qb1b2_dV_b2_c2));
OP_cb1b2x = ((-0.0)-(-d_Qb1b2_dV_b2_e1));
OP_cb1b2y = (-(-d_Qb1b2_dV_c1_c2-d_Qb1b2_dV_b2_c2));
OP_cb1b2z = (-(-d_Qb1b2_dV_c3_c1-d_Qb1b2_dV_c4_c1+d_Qb1b2_dV_c1_c2-d_Qb1b2_dV_b2_c1));
OP_cts = (+d_Qts_dV_s_c1);
dydx = ((OP_gx-OP_gmux)/((OP_grcvy+OP_gmuy)-OP_gy));
dydz = (((OP_gz-OP_grcvz)-OP_gmuz)/((OP_grcvy+OP_gmuy)-OP_gy));
gpi = (((((OP_sgpi+OP_gpix)+OP_gmux)+OP_gpiz)+OP_gmuz)+((OP_gpiy+OP_gmuy)*(dydx+dydz)));
OP_gm = (((OP_grcvy*(((OP_gx-OP_gmux)+OP_gz)-OP_gmuz))-(OP_grcvz*(OP_gy-OP_gmuy)))/((OP_grcvy+OP_gmuy)-OP_gy));
OP_beta = (OP_gm/gpi);
OP_gout = ((((OP_gy-OP_gmuy)*OP_grcvz)-((OP_gz-OP_gmuz)*OP_grcvy))/((OP_grcvy+OP_gmuy)-OP_gy));
OP_gmu = ((((OP_gpiz+OP_gmuz)+((OP_gpiy+OP_gmuy)*dydz))+OP_gmuex)+OP_xgmuex);
OP_rb = (RBC_TM+OP_rbv);
OP_rc = ((OP_rcc+OP_rcblx)+OP_rcbli);
OP_cbe = ((((OP_cbex+OP_scbe)+OP_cbcx)+((OP_cbey+OP_cbcy)*dydx))+CBEO_M);
OP_cbc = ((((((OP_cbey+OP_cbcy)*dydz)+OP_cbcz)+OP_cbcex)+OP_xcbcex)+CBCO_M);
gammax = (((OP_gpix+OP_gmux)-OP_grbvx)*OP_rbv);
gammay = (((OP_gpiy+OP_gmuy)-OP_grbvy)*OP_rbv);
gammaz = (((OP_gpiz+OP_gmuz)-OP_grbvz)*OP_rbv);
gbfx = (OP_gpix+(OP_sgpi*(1.0+gammax)));
gbfy = (OP_gpiy+(OP_sgpi*gammay));
gbfz = (OP_gpiz+(OP_sgpi*gammaz));
alpha_ft = (((1.0+((OP_grcvy*dydx)*OP_rc))+(((OP_gx+gbfx)+((OP_gy+gbfy)*dydx))*RE_TM))/((1.0-((OP_grcvz+(OP_grcvy*dydz))*OP_rc))-(((OP_gz+gbfz)+((OP_gy+gbfy)*dydz))*RE_TM)));
{
double value_pow_0 = pow(((OP_grcvy*dydx)+(alpha_ft*(OP_grcvz+(OP_grcvy*dydz)))),(-1));
double  deriv_pow_0_d0 = ((((OP_grcvy*dydx)+(alpha_ft*(OP_grcvz+(OP_grcvy*dydz)))) == 0.0)?0.0:(value_pow_0*(-1)/((OP_grcvy*dydx)+(alpha_ft*(OP_grcvz+(OP_grcvy*dydz))))));
rx = value_pow_0;
}
rz = (alpha_ft*rx);
ry = ((1.0-(OP_grcvz*rz))/OP_grcvy);
rb1b2 = (((gammax*rx)+(gammay*ry))+(gammaz*rz));
rex = ((rz+rb1b2)-OP_rcbli);
xrex = ((((rz+rb1b2)+(RBC_TM*((((gbfx+OP_gmux)*rx)+((gbfy+OP_gmuy)*ry))+((gbfz+OP_gmuz)*rz))))-OP_rcbli)-OP_rcblx);
taut = (((((((OP_scbe*(rx+rb1b2))+((OP_cbex+OP_cbcx)*rx))+((OP_cbey+OP_cbcy)*ry))+((OP_cbez+OP_cbcz)*rz))+(OP_cbcex*rex))+(OP_xcbcex*xrex))+((CBEO_M+CBCO_M)*(xrex-RCCxx_TM)));
OP_ft = (1.0/((2.0*3.1415926)*taut));
OP_iqs = Iqs;
OP_xiwepi = xi_w;
OP_vb2c2star = Vb2c2star;
OP_tk = Tk;
}


  // -- endcode converted from analog/code block
  if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) && getSolverState().debugTimeFlag)
  {
    Xyce::dout() << " probeVars[admsProbeID_V_s_GND] =  "
         <<probeVars[admsProbeID_V_s_GND] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_b_GND] =  "
         <<probeVars[admsProbeID_V_b_GND] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_b2_GND] =  "
         <<probeVars[admsProbeID_V_b2_GND] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_b1_GND] =  "
         <<probeVars[admsProbeID_V_b1_GND] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_e_GND] =  "
         <<probeVars[admsProbeID_V_e_GND] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_c1_GND] =  "
         <<probeVars[admsProbeID_V_c1_GND] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_c2_GND] =  "
         <<probeVars[admsProbeID_V_c2_GND] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_e1_GND] =  "
         <<probeVars[admsProbeID_V_e1_GND] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_s_c] =  "
         <<probeVars[admsProbeID_V_s_c] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_b_s] =  "
         <<probeVars[admsProbeID_V_b_s] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_s_e] =  "
         <<probeVars[admsProbeID_V_s_e] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_c_e] =  "
         <<probeVars[admsProbeID_V_c_e] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_noi_GND] =  "
         <<probeVars[admsProbeID_V_noi_GND] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_c3_c1] =  "
         <<probeVars[admsProbeID_V_c3_c1] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_c3_c4] =  "
         <<probeVars[admsProbeID_V_c3_c4] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_c4_c1] =  "
         <<probeVars[admsProbeID_V_c4_c1] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_b_c] =  "
         <<probeVars[admsProbeID_V_b_c] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_b_e] =  "
         <<probeVars[admsProbeID_V_b_e] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_b_b1] =  "
         <<probeVars[admsProbeID_V_b_b1] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_e_e1] =  "
         <<probeVars[admsProbeID_V_e_e1] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_c1_c2] =  "
         <<probeVars[admsProbeID_V_c1_c2] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_s_c1] =  "
         <<probeVars[admsProbeID_V_s_c1] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_b1_b2] =  "
         <<probeVars[admsProbeID_V_b1_b2] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_b1_e1] =  "
         <<probeVars[admsProbeID_V_b1_e1] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_b2_e1] =  "
         <<probeVars[admsProbeID_V_b2_e1] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_b2_c2] =  "
         <<probeVars[admsProbeID_V_b2_c2] << std::endl;
    Xyce::dout() << " probeVars[admsProbeID_V_b2_c1] =  "
         <<probeVars[admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " staticContributions[admsNodeID_c] =  "
         <<staticContributions[admsNodeID_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_s_GND) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_b_GND) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_b2_GND) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_b1_GND) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_e_GND) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_c1_GND) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_c2_GND) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_e1_GND) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_s_c) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_b_s) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_s_e) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_c_e) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_noi_GND) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_c3_c1) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_c3_c4) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_c4_c1) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_b_c) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_b_e) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_b_b1) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_e_e1) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_c1_c2) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_s_c1) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_b1_b2) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_b1_e1) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_b2_e1) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_b2_c2) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c].dx(admsProbeID_V_b2_c1) =  " <<d_staticContributions[admsNodeID_c][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " dynamicContributions[admsNodeID_c] =  "
         <<dynamicContributions[admsNodeID_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_s_GND) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_b_GND) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_b2_GND) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_b1_GND) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_e_GND) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_c1_GND) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_c2_GND) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_e1_GND) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_s_c) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_b_s) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_s_e) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_c_e) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_noi_GND) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_c3_c1) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_c3_c4) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_c4_c1) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_b_c) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_b_e) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_b_b1) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_e_e1) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_c1_c2) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_s_c1) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_b1_b2) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_b1_e1) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_b2_e1) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_b2_c2) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c].dx(admsProbeID_V_b2_c1) =  " <<d_dynamicContributions[admsNodeID_c][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " Jdxp_static[admsNodeID_c] =  "
         <<Jdxp_static[admsNodeID_c] << std::endl;
    Xyce::dout() << " Jdxp_dynamic[admsNodeID_c] =  "
         <<Jdxp_dynamic[admsNodeID_c] << std::endl;
    Xyce::dout() << " staticContributions[admsNodeID_b] =  "
         <<staticContributions[admsNodeID_b] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_s_GND) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_b_GND) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_b2_GND) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_b1_GND) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_e_GND) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_c1_GND) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_c2_GND) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_e1_GND) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_s_c) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_b_s) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_s_e) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_c_e) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_noi_GND) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_c3_c1) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_c3_c4) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_c4_c1) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_b_c) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_b_e) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_b_b1) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_e_e1) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_c1_c2) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_s_c1) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_b1_b2) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_b1_e1) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_b2_e1) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_b2_c2) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b].dx(admsProbeID_V_b2_c1) =  " <<d_staticContributions[admsNodeID_b][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " dynamicContributions[admsNodeID_b] =  "
         <<dynamicContributions[admsNodeID_b] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_s_GND) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_b_GND) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_b2_GND) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_b1_GND) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_e_GND) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_c1_GND) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_c2_GND) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_e1_GND) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_s_c) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_b_s) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_s_e) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_c_e) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_noi_GND) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_c3_c1) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_c3_c4) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_c4_c1) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_b_c) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_b_e) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_b_b1) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_e_e1) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_c1_c2) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_s_c1) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_b1_b2) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_b1_e1) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_b2_e1) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_b2_c2) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b].dx(admsProbeID_V_b2_c1) =  " <<d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " Jdxp_static[admsNodeID_b] =  "
         <<Jdxp_static[admsNodeID_b] << std::endl;
    Xyce::dout() << " Jdxp_dynamic[admsNodeID_b] =  "
         <<Jdxp_dynamic[admsNodeID_b] << std::endl;
    Xyce::dout() << " staticContributions[admsNodeID_e] =  "
         <<staticContributions[admsNodeID_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_s_GND) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_b_GND) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_b2_GND) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_b1_GND) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_e_GND) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_c1_GND) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_c2_GND) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_e1_GND) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_s_c) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_b_s) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_s_e) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_c_e) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_noi_GND) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_c3_c1) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_c3_c4) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_c4_c1) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_b_c) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_b_e) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_b_b1) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_e_e1) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_c1_c2) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_s_c1) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_b1_b2) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_b1_e1) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_b2_e1) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_b2_c2) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e].dx(admsProbeID_V_b2_c1) =  " <<d_staticContributions[admsNodeID_e][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " dynamicContributions[admsNodeID_e] =  "
         <<dynamicContributions[admsNodeID_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_s_GND) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_b_GND) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_b2_GND) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_b1_GND) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_e_GND) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_c1_GND) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_c2_GND) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_e1_GND) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_s_c) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_b_s) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_s_e) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_c_e) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_noi_GND) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_c3_c1) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_c3_c4) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_c4_c1) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_b_c) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_b_e) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_b_b1) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_e_e1) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_c1_c2) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_s_c1) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_b1_b2) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_b1_e1) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_b2_e1) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_b2_c2) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e].dx(admsProbeID_V_b2_c1) =  " <<d_dynamicContributions[admsNodeID_e][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " Jdxp_static[admsNodeID_e] =  "
         <<Jdxp_static[admsNodeID_e] << std::endl;
    Xyce::dout() << " Jdxp_dynamic[admsNodeID_e] =  "
         <<Jdxp_dynamic[admsNodeID_e] << std::endl;
    Xyce::dout() << " staticContributions[admsNodeID_s] =  "
         <<staticContributions[admsNodeID_s] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_s_GND) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_b_GND) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_b2_GND) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_b1_GND) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_e_GND) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_c1_GND) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_c2_GND) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_e1_GND) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_s_c) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_b_s) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_s_e) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_c_e) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_noi_GND) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_c3_c1) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_c3_c4) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_c4_c1) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_b_c) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_b_e) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_b_b1) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_e_e1) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_c1_c2) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_s_c1) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_b1_b2) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_b1_e1) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_b2_e1) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_b2_c2) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_s].dx(admsProbeID_V_b2_c1) =  " <<d_staticContributions[admsNodeID_s][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " dynamicContributions[admsNodeID_s] =  "
         <<dynamicContributions[admsNodeID_s] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_s_GND) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_b_GND) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_b2_GND) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_b1_GND) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_e_GND) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_c1_GND) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_c2_GND) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_e1_GND) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_s_c) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_b_s) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_s_e) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_c_e) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_noi_GND) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_c3_c1) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_c3_c4) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_c4_c1) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_b_c) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_b_e) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_b_b1) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_e_e1) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_c1_c2) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_s_c1) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_b1_b2) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_b1_e1) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_b2_e1) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_b2_c2) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_s].dx(admsProbeID_V_b2_c1) =  " <<d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " Jdxp_static[admsNodeID_s] =  "
         <<Jdxp_static[admsNodeID_s] << std::endl;
    Xyce::dout() << " Jdxp_dynamic[admsNodeID_s] =  "
         <<Jdxp_dynamic[admsNodeID_s] << std::endl;
    Xyce::dout() << " staticContributions[admsNodeID_e1] =  "
         <<staticContributions[admsNodeID_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_s_GND) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_b_GND) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_b2_GND) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_b1_GND) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_e_GND) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_c1_GND) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_c2_GND) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_e1_GND) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_s_c) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_b_s) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_s_e) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_c_e) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_noi_GND) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_c3_c1) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_c3_c4) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_c4_c1) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_b_c) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_b_e) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_b_b1) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_e_e1) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_c1_c2) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_s_c1) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_b1_b2) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_b1_e1) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_b2_e1) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_b2_c2) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_e1].dx(admsProbeID_V_b2_c1) =  " <<d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " dynamicContributions[admsNodeID_e1] =  "
         <<dynamicContributions[admsNodeID_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_s_GND) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_b_GND) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_b2_GND) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_b1_GND) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_e_GND) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_c1_GND) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_c2_GND) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_e1_GND) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_s_c) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_b_s) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_s_e) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_c_e) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_noi_GND) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_c3_c1) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_c3_c4) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_c4_c1) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_b_c) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_b_e) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_b_b1) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_e_e1) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_c1_c2) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_s_c1) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_b1_b2) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_b1_e1) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_b2_e1) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_b2_c2) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_e1].dx(admsProbeID_V_b2_c1) =  " <<d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " Jdxp_static[admsNodeID_e1] =  "
         <<Jdxp_static[admsNodeID_e1] << std::endl;
    Xyce::dout() << " Jdxp_dynamic[admsNodeID_e1] =  "
         <<Jdxp_dynamic[admsNodeID_e1] << std::endl;
    Xyce::dout() << " staticContributions[admsNodeID_b1] =  "
         <<staticContributions[admsNodeID_b1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_s_GND) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_b_GND) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_b2_GND) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_b1_GND) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_e_GND) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_c1_GND) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_c2_GND) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_e1_GND) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_s_c) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_b_s) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_s_e) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_c_e) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_noi_GND) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_c3_c1) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_c3_c4) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_c4_c1) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_b_c) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_b_e) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_b_b1) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_e_e1) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_c1_c2) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_s_c1) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_b1_b2) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_b1_e1) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_b2_e1) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_b2_c2) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b1].dx(admsProbeID_V_b2_c1) =  " <<d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " dynamicContributions[admsNodeID_b1] =  "
         <<dynamicContributions[admsNodeID_b1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_s_GND) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_b_GND) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_b2_GND) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_b1_GND) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_e_GND) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_c1_GND) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_c2_GND) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_e1_GND) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_s_c) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_b_s) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_s_e) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_c_e) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_noi_GND) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_c3_c1) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_c3_c4) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_c4_c1) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_b_c) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_b_e) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_b_b1) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_e_e1) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_c1_c2) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_s_c1) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_b1_b2) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_b1_e1) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_b2_e1) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_b2_c2) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b1].dx(admsProbeID_V_b2_c1) =  " <<d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " Jdxp_static[admsNodeID_b1] =  "
         <<Jdxp_static[admsNodeID_b1] << std::endl;
    Xyce::dout() << " Jdxp_dynamic[admsNodeID_b1] =  "
         <<Jdxp_dynamic[admsNodeID_b1] << std::endl;
    Xyce::dout() << " staticContributions[admsNodeID_b2] =  "
         <<staticContributions[admsNodeID_b2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_s_GND) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_b_GND) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_b2_GND) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_b1_GND) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_e_GND) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_c1_GND) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_c2_GND) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_e1_GND) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_s_c) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_b_s) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_s_e) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_c_e) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_noi_GND) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_c3_c1) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_c3_c4) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_c4_c1) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_b_c) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_b_e) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_b_b1) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_e_e1) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_c1_c2) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_s_c1) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_b1_b2) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_b1_e1) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_b2_e1) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_b2_c2) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_b2].dx(admsProbeID_V_b2_c1) =  " <<d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " dynamicContributions[admsNodeID_b2] =  "
         <<dynamicContributions[admsNodeID_b2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_s_GND) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_b_GND) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_b2_GND) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_b1_GND) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_e_GND) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_c1_GND) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_c2_GND) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_e1_GND) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_s_c) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_b_s) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_s_e) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_c_e) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_noi_GND) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_c3_c1) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_c3_c4) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_c4_c1) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_b_c) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_b_e) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_b_b1) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_e_e1) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_c1_c2) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_s_c1) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_b1_b2) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_b1_e1) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_b2_e1) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_b2_c2) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_b2].dx(admsProbeID_V_b2_c1) =  " <<d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " Jdxp_static[admsNodeID_b2] =  "
         <<Jdxp_static[admsNodeID_b2] << std::endl;
    Xyce::dout() << " Jdxp_dynamic[admsNodeID_b2] =  "
         <<Jdxp_dynamic[admsNodeID_b2] << std::endl;
    Xyce::dout() << " staticContributions[admsNodeID_c1] =  "
         <<staticContributions[admsNodeID_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_s_GND) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_b_GND) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_b2_GND) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_b1_GND) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_e_GND) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_c1_GND) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_c2_GND) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_e1_GND) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_s_c) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_b_s) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_s_e) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_c_e) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_noi_GND) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_c3_c1) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_c3_c4) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_c4_c1) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_b_c) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_b_e) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_b_b1) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_e_e1) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_c1_c2) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_s_c1) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_b1_b2) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_b1_e1) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_b2_e1) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_b2_c2) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c1].dx(admsProbeID_V_b2_c1) =  " <<d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " dynamicContributions[admsNodeID_c1] =  "
         <<dynamicContributions[admsNodeID_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_s_GND) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_b_GND) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_b2_GND) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_b1_GND) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_e_GND) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_c1_GND) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_c2_GND) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_e1_GND) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_s_c) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_b_s) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_s_e) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_c_e) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_noi_GND) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_c3_c1) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_c3_c4) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_c4_c1) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_b_c) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_b_e) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_b_b1) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_e_e1) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_c1_c2) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_s_c1) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_b1_b2) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_b1_e1) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_b2_e1) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_b2_c2) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c1].dx(admsProbeID_V_b2_c1) =  " <<d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " Jdxp_static[admsNodeID_c1] =  "
         <<Jdxp_static[admsNodeID_c1] << std::endl;
    Xyce::dout() << " Jdxp_dynamic[admsNodeID_c1] =  "
         <<Jdxp_dynamic[admsNodeID_c1] << std::endl;
    Xyce::dout() << " staticContributions[admsNodeID_c2] =  "
         <<staticContributions[admsNodeID_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_s_GND) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_b_GND) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_b2_GND) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_b1_GND) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_e_GND) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_c1_GND) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_c2_GND) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_e1_GND) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_s_c) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_b_s) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_s_e) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_c_e) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_noi_GND) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_c3_c1) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_c3_c4) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_c4_c1) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_b_c) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_b_e) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_b_b1) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_e_e1) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_c1_c2) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_s_c1) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_b1_b2) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_b1_e1) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_b2_e1) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_b2_c2) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c2].dx(admsProbeID_V_b2_c1) =  " <<d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " dynamicContributions[admsNodeID_c2] =  "
         <<dynamicContributions[admsNodeID_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_s_GND) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_b_GND) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_b2_GND) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_b1_GND) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_e_GND) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_c1_GND) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_c2_GND) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_e1_GND) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_s_c) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_b_s) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_s_e) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_c_e) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_noi_GND) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_c3_c1) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_c3_c4) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_c4_c1) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_b_c) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_b_e) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_b_b1) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_e_e1) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_c1_c2) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_s_c1) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_b1_b2) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_b1_e1) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_b2_e1) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_b2_c2) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c2].dx(admsProbeID_V_b2_c1) =  " <<d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " Jdxp_static[admsNodeID_c2] =  "
         <<Jdxp_static[admsNodeID_c2] << std::endl;
    Xyce::dout() << " Jdxp_dynamic[admsNodeID_c2] =  "
         <<Jdxp_dynamic[admsNodeID_c2] << std::endl;
    Xyce::dout() << " staticContributions[admsNodeID_c3] =  "
         <<staticContributions[admsNodeID_c3] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_s_GND) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_b_GND) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_b2_GND) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_b1_GND) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_e_GND) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_c1_GND) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_c2_GND) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_e1_GND) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_s_c) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_b_s) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_s_e) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_c_e) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_noi_GND) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_c3_c1) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_c3_c4) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_c4_c1) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_b_c) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_b_e) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_b_b1) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_e_e1) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_c1_c2) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_s_c1) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_b1_b2) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_b1_e1) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_b2_e1) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_b2_c2) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c3].dx(admsProbeID_V_b2_c1) =  " <<d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " dynamicContributions[admsNodeID_c3] =  "
         <<dynamicContributions[admsNodeID_c3] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_s_GND) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_b_GND) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_b2_GND) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_b1_GND) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_e_GND) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_c1_GND) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_c2_GND) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_e1_GND) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_s_c) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_b_s) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_s_e) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_c_e) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_noi_GND) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_c3_c1) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_c3_c4) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_c4_c1) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_b_c) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_b_e) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_b_b1) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_e_e1) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_c1_c2) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_s_c1) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_b1_b2) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_b1_e1) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_b2_e1) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_b2_c2) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c3].dx(admsProbeID_V_b2_c1) =  " <<d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " Jdxp_static[admsNodeID_c3] =  "
         <<Jdxp_static[admsNodeID_c3] << std::endl;
    Xyce::dout() << " Jdxp_dynamic[admsNodeID_c3] =  "
         <<Jdxp_dynamic[admsNodeID_c3] << std::endl;
    Xyce::dout() << " staticContributions[admsNodeID_c4] =  "
         <<staticContributions[admsNodeID_c4] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_s_GND) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_b_GND) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_b2_GND) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_b1_GND) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_e_GND) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_c1_GND) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_c2_GND) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_e1_GND) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_s_c) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_b_s) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_s_e) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_c_e) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_noi_GND) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_c3_c1) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_c3_c4) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_c4_c1) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_b_c) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_b_e) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_b_b1) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_e_e1) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_c1_c2) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_s_c1) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_b1_b2) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_b1_e1) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_b2_e1) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_b2_c2) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_c4].dx(admsProbeID_V_b2_c1) =  " <<d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " dynamicContributions[admsNodeID_c4] =  "
         <<dynamicContributions[admsNodeID_c4] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_s_GND) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_b_GND) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_b2_GND) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_b1_GND) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_e_GND) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_c1_GND) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_c2_GND) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_e1_GND) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_s_c) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_b_s) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_s_e) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_c_e) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_noi_GND) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_c3_c1) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_c3_c4) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_c4_c1) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_b_c) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_b_e) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_b_b1) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_e_e1) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_c1_c2) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_s_c1) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_b1_b2) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_b1_e1) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_b2_e1) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_b2_c2) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_c4].dx(admsProbeID_V_b2_c1) =  " <<d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " Jdxp_static[admsNodeID_c4] =  "
         <<Jdxp_static[admsNodeID_c4] << std::endl;
    Xyce::dout() << " Jdxp_dynamic[admsNodeID_c4] =  "
         <<Jdxp_dynamic[admsNodeID_c4] << std::endl;
    Xyce::dout() << " staticContributions[admsNodeID_noi] =  "
         <<staticContributions[admsNodeID_noi] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_s_GND) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_b_GND) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_b2_GND) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_b1_GND) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_e_GND) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_c1_GND) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_c2_GND) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_e1_GND) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_s_c) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_b_s) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_s_e) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_c_e) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_noi_GND) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_c3_c1) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_c3_c4) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_c4_c1) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_b_c) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_b_e) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_b_b1) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_e_e1) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_c1_c2) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_s_c1) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_b1_b2) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_b1_e1) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_b2_e1) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_b2_c2) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    staticContributions[admsNodeID_noi].dx(admsProbeID_V_b2_c1) =  " <<d_staticContributions[admsNodeID_noi][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " dynamicContributions[admsNodeID_noi] =  "
         <<dynamicContributions[admsNodeID_noi] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_s_GND) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_s_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_b_GND) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_b_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_b2_GND) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_b2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_b1_GND) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_b1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_e_GND) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_e_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_c1_GND) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_c1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_c2_GND) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_c2_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_e1_GND) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_e1_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_s_c) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_s_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_b_s) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_b_s] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_s_e) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_s_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_c_e) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_c_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_noi_GND) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_noi_GND] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_c3_c1) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_c3_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_c3_c4) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_c3_c4] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_c4_c1) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_c4_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_b_c) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_b_c] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_b_e) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_b_e] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_b_b1) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_b_b1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_e_e1) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_e_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_c1_c2) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_c1_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_s_c1) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_s_c1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_b1_b2) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_b1_b2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_b1_e1) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_b1_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_b2_e1) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_b2_e1] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_b2_c2) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_b2_c2] << std::endl;
      Xyce::dout() << "    dynamicContributions[admsNodeID_noi].dx(admsProbeID_V_b2_c1) =  " <<d_dynamicContributions[admsNodeID_noi][admsProbeID_V_b2_c1] << std::endl;
    Xyce::dout() << " Jdxp_static[admsNodeID_noi] =  "
         <<Jdxp_static[admsNodeID_noi] << std::endl;
    Xyce::dout() << " Jdxp_dynamic[admsNodeID_noi] =  "
         <<Jdxp_dynamic[admsNodeID_noi] << std::endl;

    if (!origFlag)
      Xyce::dout() << "This step was limited by this device." << std::endl;
  }


  if (loadLeadCurrent)
  {
    // If needed, we must now copy all the data from staticContributions
    // and dynamicContributionsinto the lead current F vector
    // Must make sure all collapsed node contributions get summed into the
    // external nodes properly.
    for ( int unmappedNode=0; unmappedNode < 4 ; unmappedNode++)
    {
      leadCurrentF[unmappedNode] = 0.0;
      leadCurrentQ[unmappedNode] = 0.0;
    }
    for ( int unmappedNode=0; unmappedNode < 12; unmappedNode++)
    {
      if (nodeMap[unmappedNode] < 4 && nodeMap[unmappedNode] != -1 )
      {
        leadCurrentF[nodeMap[unmappedNode]] += staticContributions[unmappedNode];
        leadCurrentQ[nodeMap[unmappedNode]] += dynamicContributions[unmappedNode];
      }
    }
  }
  return true;
}

//-----------------------------------------------------------------------------
// Function      : Instance::getNumNoiseSources
// Purpose       :
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
int Instance::getNumNoiseSources () const
{
return 26;
}

//-----------------------------------------------------------------------------
// Function      : Instance::setupNoiseSources
// Purpose       :
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
void Instance::setupNoiseSources (Xyce::Analysis::NoiseData & noiseData)
{
int numSources=getNumNoiseSources();
noiseData.numSources = numSources;
noiseData.resize(numSources);

noiseData.deviceName = getName().getEncodedName();
std::string theNoiseName;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_noi_GND");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[0]=theNoiseName;
noiseData.li_Pos[0]=li_noi;
noiseData.li_Neg[0]=-1;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_c2_b2");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[1]=theNoiseName;
noiseData.li_Pos[1]=li_c2;
noiseData.li_Neg[1]=li_b2;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_b2_e1");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[2]=theNoiseName;
noiseData.li_Pos[2]=li_b2;
noiseData.li_Neg[2]=li_e1;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_e_e1");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[3]=theNoiseName;
noiseData.li_Pos[3]=li_e;
noiseData.li_Neg[3]=li_e1;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_b_b1");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[4]=theNoiseName;
noiseData.li_Pos[4]=li_b;
noiseData.li_Neg[4]=li_b1;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_b1_b2");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[5]=theNoiseName;
noiseData.li_Pos[5]=li_b1;
noiseData.li_Neg[5]=li_b2;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_flicker_b2_e1");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[6]=theNoiseName;
noiseData.li_Pos[6]=li_b2;
noiseData.li_Neg[6]=li_e1;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_flicker_b2_e1");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[7]=theNoiseName;
noiseData.li_Pos[7]=li_b2;
noiseData.li_Neg[7]=li_e1;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_e1_b1");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[8]=theNoiseName;
noiseData.li_Pos[8]=li_e1;
noiseData.li_Neg[8]=li_b1;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_flicker_e1_b1");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[9]=theNoiseName;
noiseData.li_Pos[9]=li_e1;
noiseData.li_Neg[9]=li_b1;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_b1_c4");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[10]=theNoiseName;
noiseData.li_Pos[10]=li_b1;
noiseData.li_Neg[10]=li_c4;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_flicker_b1_c4");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[11]=theNoiseName;
noiseData.li_Pos[11]=li_b1;
noiseData.li_Neg[11]=li_c4;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_b1_c4");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[12]=theNoiseName;
noiseData.li_Pos[12]=li_b1;
noiseData.li_Neg[12]=li_c4;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_flicker_b1_c4");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[13]=theNoiseName;
noiseData.li_Pos[13]=li_b1;
noiseData.li_Neg[13]=li_c4;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_b_c3");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[14]=theNoiseName;
noiseData.li_Pos[14]=li_b;
noiseData.li_Neg[14]=li_c3;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_flicker_b_c3");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[15]=theNoiseName;
noiseData.li_Pos[15]=li_b;
noiseData.li_Neg[15]=li_c3;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_b1_s");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[16]=theNoiseName;
noiseData.li_Pos[16]=li_b1;
noiseData.li_Neg[16]=li_s;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_b_s");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[17]=theNoiseName;
noiseData.li_Pos[17]=li_b;
noiseData.li_Neg[17]=li_s;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_c_c3");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[18]=theNoiseName;
noiseData.li_Pos[18]=li_c;
noiseData.li_Neg[18]=li_c3;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_c3_c4");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[19]=theNoiseName;
noiseData.li_Pos[19]=li_c3;
noiseData.li_Neg[19]=li_c4;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_c4_c1");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[20]=theNoiseName;
noiseData.li_Pos[20]=li_c4;
noiseData.li_Neg[20]=li_c1;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_c_c3");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[21]=theNoiseName;
noiseData.li_Pos[21]=li_c;
noiseData.li_Neg[21]=li_c3;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_c3_c1");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[22]=theNoiseName;
noiseData.li_Pos[22]=li_c3;
noiseData.li_Neg[22]=li_c1;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_c_c4");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[23]=theNoiseName;
noiseData.li_Pos[23]=li_c;
noiseData.li_Neg[23]=li_c4;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_c4_c1");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[24]=theNoiseName;
noiseData.li_Pos[24]=li_c4;
noiseData.li_Neg[24]=li_c1;
theNoiseName = std::string("noise_")+getName().getEncodedName()+std::string("_white_c_c1");
std::replace(theNoiseName.begin(), theNoiseName.end(), ' ', '_');
noiseData.noiseNames[25]=theNoiseName;
noiseData.li_Pos[25]=li_c;
noiseData.li_Neg[25]=li_c1;


}
//-----------------------------------------------------------------------------
// Function      : Instance::getNoiseSources
// Purpose       :
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
void Instance::getNoiseSources (Xyce::Analysis::NoiseData & noiseData)
{noiseData.noiseDens[0] = noiseContribsPower[0];
noiseData.lnNoiseDens[0] = std::log(std::max(noiseData.noiseDens[0],N_MINLOG));
noiseData.noiseDens[1] = noiseContribsPower[1];
noiseData.lnNoiseDens[1] = std::log(std::max(noiseData.noiseDens[1],N_MINLOG));
noiseData.noiseDens[2] = noiseContribsPower[2];
noiseData.lnNoiseDens[2] = std::log(std::max(noiseData.noiseDens[2],N_MINLOG));
noiseData.noiseDens[3] = noiseContribsPower[3];
noiseData.lnNoiseDens[3] = std::log(std::max(noiseData.noiseDens[3],N_MINLOG));
noiseData.noiseDens[4] = noiseContribsPower[4];
noiseData.lnNoiseDens[4] = std::log(std::max(noiseData.noiseDens[4],N_MINLOG));
noiseData.noiseDens[5] = noiseContribsPower[5];
noiseData.lnNoiseDens[5] = std::log(std::max(noiseData.noiseDens[5],N_MINLOG));
noiseData.noiseDens[6] = noiseContribsPower[6];

      noiseData.noiseDens[6] /= pow(noiseData.freq,noiseContribsExponent[6]);noiseData.lnNoiseDens[6] = std::log(std::max(noiseData.noiseDens[6],N_MINLOG));
noiseData.noiseDens[7] = noiseContribsPower[7];

      noiseData.noiseDens[7] /= pow(noiseData.freq,noiseContribsExponent[7]);noiseData.lnNoiseDens[7] = std::log(std::max(noiseData.noiseDens[7],N_MINLOG));
noiseData.noiseDens[8] = noiseContribsPower[8];
noiseData.lnNoiseDens[8] = std::log(std::max(noiseData.noiseDens[8],N_MINLOG));
noiseData.noiseDens[9] = noiseContribsPower[9];

      noiseData.noiseDens[9] /= pow(noiseData.freq,noiseContribsExponent[9]);noiseData.lnNoiseDens[9] = std::log(std::max(noiseData.noiseDens[9],N_MINLOG));
noiseData.noiseDens[10] = noiseContribsPower[10];
noiseData.lnNoiseDens[10] = std::log(std::max(noiseData.noiseDens[10],N_MINLOG));
noiseData.noiseDens[11] = noiseContribsPower[11];

      noiseData.noiseDens[11] /= pow(noiseData.freq,noiseContribsExponent[11]);noiseData.lnNoiseDens[11] = std::log(std::max(noiseData.noiseDens[11],N_MINLOG));
noiseData.noiseDens[12] = noiseContribsPower[12];
noiseData.lnNoiseDens[12] = std::log(std::max(noiseData.noiseDens[12],N_MINLOG));
noiseData.noiseDens[13] = noiseContribsPower[13];

      noiseData.noiseDens[13] /= pow(noiseData.freq,noiseContribsExponent[13]);noiseData.lnNoiseDens[13] = std::log(std::max(noiseData.noiseDens[13],N_MINLOG));
noiseData.noiseDens[14] = noiseContribsPower[14];
noiseData.lnNoiseDens[14] = std::log(std::max(noiseData.noiseDens[14],N_MINLOG));
noiseData.noiseDens[15] = noiseContribsPower[15];

      noiseData.noiseDens[15] /= pow(noiseData.freq,noiseContribsExponent[15]);noiseData.lnNoiseDens[15] = std::log(std::max(noiseData.noiseDens[15],N_MINLOG));
noiseData.noiseDens[16] = noiseContribsPower[16];
noiseData.lnNoiseDens[16] = std::log(std::max(noiseData.noiseDens[16],N_MINLOG));
noiseData.noiseDens[17] = noiseContribsPower[17];
noiseData.lnNoiseDens[17] = std::log(std::max(noiseData.noiseDens[17],N_MINLOG));
noiseData.noiseDens[18] = noiseContribsPower[18];
noiseData.lnNoiseDens[18] = std::log(std::max(noiseData.noiseDens[18],N_MINLOG));
noiseData.noiseDens[19] = noiseContribsPower[19];
noiseData.lnNoiseDens[19] = std::log(std::max(noiseData.noiseDens[19],N_MINLOG));
noiseData.noiseDens[20] = noiseContribsPower[20];
noiseData.lnNoiseDens[20] = std::log(std::max(noiseData.noiseDens[20],N_MINLOG));
noiseData.noiseDens[21] = noiseContribsPower[21];
noiseData.lnNoiseDens[21] = std::log(std::max(noiseData.noiseDens[21],N_MINLOG));
noiseData.noiseDens[22] = noiseContribsPower[22];
noiseData.lnNoiseDens[22] = std::log(std::max(noiseData.noiseDens[22],N_MINLOG));
noiseData.noiseDens[23] = noiseContribsPower[23];
noiseData.lnNoiseDens[23] = std::log(std::max(noiseData.noiseDens[23],N_MINLOG));
noiseData.noiseDens[24] = noiseContribsPower[24];
noiseData.lnNoiseDens[24] = std::log(std::max(noiseData.noiseDens[24],N_MINLOG));
noiseData.noiseDens[25] = noiseContribsPower[25];
noiseData.lnNoiseDens[25] = std::log(std::max(noiseData.noiseDens[25],N_MINLOG));

}

//-----------------------------------------------------------------------------
// Function      : Instance::loadDAEdFdx
// Purpose       :
// Special Notes : Load the dFdx ("static jacobian") matrix
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
bool Instance::loadDAEdFdx()
{
  bool bsuccess = true;
  Linear::Matrix & dFdx = *(extData.dFdxMatrixPtr);

#ifndef Xyce_NONPOINTER_MATRIX_LOAD
  (*f_c1_Equ_c1_Node_Ptr) +=  -d_staticContributions[admsNodeID_c1][admsProbeID_V_c3_c1] -d_staticContributions[admsNodeID_c1][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_c1][admsProbeID_V_s_c1] -d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_c1][admsProbeID_V_c1_c2];
  (*f_c1_Equ_c2_Node_Ptr) +=  -d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_c1][admsProbeID_V_c1_c2];
  (*f_c2_Equ_c1_Node_Ptr) +=  -d_staticContributions[admsNodeID_c2][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_c2][admsProbeID_V_c3_c1] -d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_c2][admsProbeID_V_c1_c2];
  (*f_c2_Equ_c2_Node_Ptr) +=  -d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_c2][admsProbeID_V_c1_c2];
  (*f_c1_Equ_b2_Node_Ptr) +=  -d_staticContributions[admsNodeID_c1][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_e1] +d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_c2] +d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_c1];
  (*f_c2_Equ_b2_Node_Ptr) +=  -d_staticContributions[admsNodeID_c2][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_e1] +d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_c2] +d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_c1];
  (*f_e1_Equ_c1_Node_Ptr) +=  -d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_e1][admsProbeID_V_c1_c2];
  (*f_e1_Equ_c2_Node_Ptr) +=  -d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_e1][admsProbeID_V_c1_c2];
  (*f_e1_Equ_b2_Node_Ptr) +=  +d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_e1] +d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_c2] +d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_c1];
  (*f_c2_Equ_e1_Node_Ptr) +=  -d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_e1];
  (*f_e1_Equ_e1_Node_Ptr) +=  -d_staticContributions[admsNodeID_e1][admsProbeID_V_e_e1] -d_staticContributions[admsNodeID_e1][admsProbeID_V_b1_e1] -d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_e1];
  (*f_b1_Equ_b1_Node_Ptr) +=  -d_staticContributions[admsNodeID_b1][admsProbeID_V_b_b1] +d_staticContributions[admsNodeID_b1][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_b1][admsProbeID_V_b1_e1];
  (*f_b1_Equ_e1_Node_Ptr) +=  -d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_e1] -d_staticContributions[admsNodeID_b1][admsProbeID_V_b1_e1];
  (*f_e1_Equ_b1_Node_Ptr) +=  +d_staticContributions[admsNodeID_e1][admsProbeID_V_b1_e1];
  (*f_b2_Equ_b2_Node_Ptr) +=  -d_staticContributions[admsNodeID_b2][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_c2] +d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_e1];
  (*f_b2_Equ_e1_Node_Ptr) +=  -d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_e1];
  (*f_b2_Equ_c1_Node_Ptr) +=  -d_staticContributions[admsNodeID_b2][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_b2][admsProbeID_V_c3_c1] -d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_b2][admsProbeID_V_c1_c2];
  (*f_b2_Equ_c2_Node_Ptr) +=  -d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_b2][admsProbeID_V_c1_c2];
  (*f_b1_Equ_s_Node_Ptr) +=  +d_staticContributions[admsNodeID_b1][admsProbeID_V_s_c1];
  (*f_b1_Equ_c1_Node_Ptr) +=  -d_staticContributions[admsNodeID_b1][admsProbeID_V_c3_c1] -d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_b1][admsProbeID_V_c1_c2] -d_staticContributions[admsNodeID_b1][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_b1][admsProbeID_V_s_c1];
  (*f_s_Equ_s_Node_Ptr) +=  +d_staticContributions[admsNodeID_s][admsProbeID_V_s_c1];
  (*f_s_Equ_c1_Node_Ptr) +=  -d_staticContributions[admsNodeID_s][admsProbeID_V_c3_c1] -d_staticContributions[admsNodeID_s][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_s][admsProbeID_V_c1_c2] -d_staticContributions[admsNodeID_s][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_s][admsProbeID_V_s_c1];
  (*f_b1_Equ_c4_Node_Ptr) +=  -d_staticContributions[admsNodeID_b1][admsProbeID_V_c3_c4] +d_staticContributions[admsNodeID_b1][admsProbeID_V_c4_c1];
  (*f_s_Equ_c4_Node_Ptr) +=  -d_staticContributions[admsNodeID_s][admsProbeID_V_c3_c4] +d_staticContributions[admsNodeID_s][admsProbeID_V_c4_c1];
  (*f_b1_Equ_c2_Node_Ptr) +=  -d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_b1][admsProbeID_V_c1_c2];
  (*f_s_Equ_c2_Node_Ptr) +=  -d_staticContributions[admsNodeID_s][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_s][admsProbeID_V_c1_c2];
  (*f_b1_Equ_b2_Node_Ptr) +=  +d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_e1] +d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_c1] -d_staticContributions[admsNodeID_b1][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_c2];
  (*f_s_Equ_b2_Node_Ptr) +=  +d_staticContributions[admsNodeID_s][admsProbeID_V_b2_e1] +d_staticContributions[admsNodeID_s][admsProbeID_V_b2_c1] -d_staticContributions[admsNodeID_s][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_s][admsProbeID_V_b2_c2];
  (*f_s_Equ_b1_Node_Ptr) +=  -d_staticContributions[admsNodeID_s][admsProbeID_V_b_b1] +d_staticContributions[admsNodeID_s][admsProbeID_V_b1_b2];
  (*f_b_Equ_s_Node_Ptr) +=  +d_staticContributions[admsNodeID_b][admsProbeID_V_s_c1];
  (*f_b_Equ_c1_Node_Ptr) +=  -d_staticContributions[admsNodeID_b][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_b][admsProbeID_V_c3_c1] -d_staticContributions[admsNodeID_b][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_b][admsProbeID_V_c1_c2] -d_staticContributions[admsNodeID_b][admsProbeID_V_s_c1];
  (*f_b_Equ_c2_Node_Ptr) +=  -d_staticContributions[admsNodeID_b][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_b][admsProbeID_V_c1_c2];
  (*f_b_Equ_b2_Node_Ptr) +=  -d_staticContributions[admsNodeID_b][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_b][admsProbeID_V_b2_e1] +d_staticContributions[admsNodeID_b][admsProbeID_V_b2_c2] +d_staticContributions[admsNodeID_b][admsProbeID_V_b2_c1];
  (*f_b_Equ_e1_Node_Ptr) +=  -d_staticContributions[admsNodeID_b][admsProbeID_V_b2_e1];
  (*f_s_Equ_e1_Node_Ptr) +=  -d_staticContributions[admsNodeID_s][admsProbeID_V_b2_e1];
  (*f_b_Equ_c3_Node_Ptr) +=  +d_staticContributions[admsNodeID_b][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_b][admsProbeID_V_c3_c4];
  (*f_b_Equ_c4_Node_Ptr) +=  +d_staticContributions[admsNodeID_b][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_b][admsProbeID_V_c3_c4];
  (*f_s_Equ_c3_Node_Ptr) +=  +d_staticContributions[admsNodeID_s][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_s][admsProbeID_V_c3_c4];
  (*f_b_Equ_b1_Node_Ptr) +=  -d_staticContributions[admsNodeID_b][admsProbeID_V_b_b1] +d_staticContributions[admsNodeID_b][admsProbeID_V_b1_b2];
  (*f_b_Equ_b_Node_Ptr) +=  +d_staticContributions[admsNodeID_b][admsProbeID_V_b_c] +d_staticContributions[admsNodeID_b][admsProbeID_V_b_b1];
  (*f_s_Equ_b_Node_Ptr) +=  +d_staticContributions[admsNodeID_s][admsProbeID_V_b_c] +d_staticContributions[admsNodeID_s][admsProbeID_V_b_b1];
  (*f_b_Equ_c_Node_Ptr) +=  -d_staticContributions[admsNodeID_b][admsProbeID_V_b_c];
  (*f_s_Equ_c_Node_Ptr) +=  -d_staticContributions[admsNodeID_s][admsProbeID_V_b_c];
  (*f_c1_Equ_s_Node_Ptr) +=  +d_staticContributions[admsNodeID_c1][admsProbeID_V_s_c1];
  (*f_b1_Equ_c3_Node_Ptr) +=  +d_staticContributions[admsNodeID_b1][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_b1][admsProbeID_V_c3_c4];
  (*f_b2_Equ_c3_Node_Ptr) +=  +d_staticContributions[admsNodeID_b2][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_b2][admsProbeID_V_c3_c4];
  (*f_b2_Equ_c4_Node_Ptr) +=  +d_staticContributions[admsNodeID_b2][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_b2][admsProbeID_V_c3_c4];
  (*f_b1_Equ_b_Node_Ptr) +=  +d_staticContributions[admsNodeID_b1][admsProbeID_V_b_c] +d_staticContributions[admsNodeID_b1][admsProbeID_V_b_b1];
  (*f_b2_Equ_b_Node_Ptr) +=  +d_staticContributions[admsNodeID_b2][admsProbeID_V_b_c] +d_staticContributions[admsNodeID_b2][admsProbeID_V_b_b1];
  (*f_b2_Equ_b1_Node_Ptr) +=  +d_staticContributions[admsNodeID_b2][admsProbeID_V_b1_b2] -d_staticContributions[admsNodeID_b2][admsProbeID_V_b_b1];
  (*f_b1_Equ_c_Node_Ptr) +=  -d_staticContributions[admsNodeID_b1][admsProbeID_V_b_c];
  (*f_b2_Equ_c_Node_Ptr) +=  -d_staticContributions[admsNodeID_b2][admsProbeID_V_b_c];
  (*f_c2_Equ_c3_Node_Ptr) +=  +d_staticContributions[admsNodeID_c2][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_c2][admsProbeID_V_c3_c4];
  (*f_c2_Equ_c4_Node_Ptr) +=  +d_staticContributions[admsNodeID_c2][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_c2][admsProbeID_V_c3_c4];
  (*f_c2_Equ_b1_Node_Ptr) +=  -d_staticContributions[admsNodeID_c2][admsProbeID_V_b_b1] +d_staticContributions[admsNodeID_c2][admsProbeID_V_b1_b2];
  (*f_c2_Equ_b_Node_Ptr) +=  +d_staticContributions[admsNodeID_c2][admsProbeID_V_b_c] +d_staticContributions[admsNodeID_c2][admsProbeID_V_b_b1];
  (*f_c2_Equ_c_Node_Ptr) +=  -d_staticContributions[admsNodeID_c2][admsProbeID_V_b_c];
  (*f_e_Equ_e_Node_Ptr) +=  +d_staticContributions[admsNodeID_e][admsProbeID_V_e_e1];
  (*f_e_Equ_e1_Node_Ptr) +=  -d_staticContributions[admsNodeID_e][admsProbeID_V_e_e1];
  (*f_e1_Equ_e_Node_Ptr) +=  +d_staticContributions[admsNodeID_e1][admsProbeID_V_e_e1];
  (*f_c1_Equ_e1_Node_Ptr) +=  -d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_e1];
  (*f_c1_Equ_b1_Node_Ptr) +=  -d_staticContributions[admsNodeID_c1][admsProbeID_V_b_b1] +d_staticContributions[admsNodeID_c1][admsProbeID_V_b1_b2];
  (*f_c1_Equ_c4_Node_Ptr) +=  -d_staticContributions[admsNodeID_c1][admsProbeID_V_c3_c4] +d_staticContributions[admsNodeID_c1][admsProbeID_V_c4_c1];
  (*f_c1_Equ_c3_Node_Ptr) +=  +d_staticContributions[admsNodeID_c1][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_c1][admsProbeID_V_c3_c4];
  (*f_c1_Equ_b_Node_Ptr) +=  +d_staticContributions[admsNodeID_c1][admsProbeID_V_b_c] +d_staticContributions[admsNodeID_c1][admsProbeID_V_b_b1];
  (*f_c1_Equ_c_Node_Ptr) +=  -d_staticContributions[admsNodeID_c1][admsProbeID_V_b_c];
  (*f_c_Equ_b_Node_Ptr) +=  +d_staticContributions[admsNodeID_c][admsProbeID_V_b_c] +d_staticContributions[admsNodeID_c][admsProbeID_V_b_b1];
  (*f_c_Equ_c_Node_Ptr) +=  -d_staticContributions[admsNodeID_c][admsProbeID_V_b_c];
  (*f_c3_Equ_s_Node_Ptr) +=  +d_staticContributions[admsNodeID_c3][admsProbeID_V_s_c1];
  (*f_c3_Equ_c1_Node_Ptr) +=  -d_staticContributions[admsNodeID_c3][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c1] -d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_c3][admsProbeID_V_c1_c2] -d_staticContributions[admsNodeID_c3][admsProbeID_V_s_c1];
  (*f_c3_Equ_c2_Node_Ptr) +=  -d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_c3][admsProbeID_V_c1_c2];
  (*f_c3_Equ_b2_Node_Ptr) +=  -d_staticContributions[admsNodeID_c3][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_e1] +d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_c2] +d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_c1];
  (*f_c3_Equ_e1_Node_Ptr) +=  -d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_e1];
  (*f_c3_Equ_c3_Node_Ptr) +=  +d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c4];
  (*f_c3_Equ_c4_Node_Ptr) +=  +d_staticContributions[admsNodeID_c3][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c4];
  (*f_c3_Equ_b1_Node_Ptr) +=  -d_staticContributions[admsNodeID_c3][admsProbeID_V_b_b1] +d_staticContributions[admsNodeID_c3][admsProbeID_V_b1_b2];
  (*f_c3_Equ_b_Node_Ptr) +=  +d_staticContributions[admsNodeID_c3][admsProbeID_V_b_c] +d_staticContributions[admsNodeID_c3][admsProbeID_V_b_b1];
  (*f_c3_Equ_c_Node_Ptr) +=  -d_staticContributions[admsNodeID_c3][admsProbeID_V_b_c];
  (*f_c_Equ_c3_Node_Ptr) +=  +d_staticContributions[admsNodeID_c][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_c][admsProbeID_V_c3_c4];
  (*f_c_Equ_c4_Node_Ptr) +=  +d_staticContributions[admsNodeID_c][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_c][admsProbeID_V_c3_c4];
  (*f_c_Equ_c1_Node_Ptr) +=  +d_staticContributions[admsNodeID_c][admsProbeID_V_c1_c2] -d_staticContributions[admsNodeID_c][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_c][admsProbeID_V_c3_c1];
  (*f_c_Equ_c2_Node_Ptr) +=  -d_staticContributions[admsNodeID_c][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_c][admsProbeID_V_c1_c2];
  (*f_c_Equ_b2_Node_Ptr) +=  -d_staticContributions[admsNodeID_c][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_c][admsProbeID_V_b2_c2];
  (*f_c_Equ_b1_Node_Ptr) +=  -d_staticContributions[admsNodeID_c][admsProbeID_V_b_b1] +d_staticContributions[admsNodeID_c][admsProbeID_V_b1_b2];
  (*f_c4_Equ_c4_Node_Ptr) +=  -d_staticContributions[admsNodeID_c4][admsProbeID_V_c3_c4] +d_staticContributions[admsNodeID_c4][admsProbeID_V_c4_c1];
  (*f_c4_Equ_c1_Node_Ptr) +=  -d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_c1] -d_staticContributions[admsNodeID_c4][admsProbeID_V_s_c1] -d_staticContributions[admsNodeID_c4][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_c4][admsProbeID_V_c1_c2] -d_staticContributions[admsNodeID_c4][admsProbeID_V_c4_c1];
  (*f_c4_Equ_b2_Node_Ptr) +=  +d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_c1] -d_staticContributions[admsNodeID_c4][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_c2] +d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_e1];
  (*f_c4_Equ_e1_Node_Ptr) +=  -d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_e1];
  (*f_c4_Equ_c2_Node_Ptr) +=  -d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_c4][admsProbeID_V_c1_c2];
  (*f_c4_Equ_b1_Node_Ptr) +=  -d_staticContributions[admsNodeID_c4][admsProbeID_V_b_b1] +d_staticContributions[admsNodeID_c4][admsProbeID_V_b1_b2];
  (*f_c4_Equ_c3_Node_Ptr) +=  +d_staticContributions[admsNodeID_c4][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_c4][admsProbeID_V_c3_c4];
  (*f_c4_Equ_s_Node_Ptr) +=  +d_staticContributions[admsNodeID_c4][admsProbeID_V_s_c1];
  (*f_c4_Equ_b_Node_Ptr) +=  +d_staticContributions[admsNodeID_c4][admsProbeID_V_b_c] +d_staticContributions[admsNodeID_c4][admsProbeID_V_b_b1];
  (*f_c4_Equ_c_Node_Ptr) +=  -d_staticContributions[admsNodeID_c4][admsProbeID_V_b_c];
  (*f_noi_Equ_c1_Node_Ptr) +=  -d_staticContributions[admsNodeID_noi][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_noi][admsProbeID_V_c1_c2];
  (*f_noi_Equ_c2_Node_Ptr) +=  -d_staticContributions[admsNodeID_noi][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_noi][admsProbeID_V_c1_c2];
  (*f_noi_Equ_b2_Node_Ptr) +=  +d_staticContributions[admsNodeID_noi][admsProbeID_V_b2_e1] +d_staticContributions[admsNodeID_noi][admsProbeID_V_b2_c2] +d_staticContributions[admsNodeID_noi][admsProbeID_V_b2_c1];
  (*f_noi_Equ_e1_Node_Ptr) +=  -d_staticContributions[admsNodeID_noi][admsProbeID_V_b2_e1];
  (*f_noi_Equ_noi_Node_Ptr) +=  +d_staticContributions[admsNodeID_noi][admsProbeID_V_noi_GND];
  (*f_b2_Equ_noi_Node_Ptr) +=  +d_staticContributions[admsNodeID_b2][admsProbeID_V_noi_GND];
  (*f_e1_Equ_noi_Node_Ptr) +=  +d_staticContributions[admsNodeID_e1][admsProbeID_V_noi_GND];
  (*f_c2_Equ_noi_Node_Ptr) +=  +d_staticContributions[admsNodeID_c2][admsProbeID_V_noi_GND];

#else
  //use the offsets instead of pointers
  dFdx[li_c1][A_c1_Equ_c1_NodeOffset] +=  -d_staticContributions[admsNodeID_c1][admsProbeID_V_c3_c1] -d_staticContributions[admsNodeID_c1][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_c1][admsProbeID_V_s_c1] -d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_c1][admsProbeID_V_c1_c2];
  dFdx[li_c1][A_c1_Equ_c2_NodeOffset] +=  -d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_c1][admsProbeID_V_c1_c2];
  dFdx[li_c2][A_c2_Equ_c1_NodeOffset] +=  -d_staticContributions[admsNodeID_c2][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_c2][admsProbeID_V_c3_c1] -d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_c2][admsProbeID_V_c1_c2];
  dFdx[li_c2][A_c2_Equ_c2_NodeOffset] +=  -d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_c2][admsProbeID_V_c1_c2];
  dFdx[li_c1][A_c1_Equ_b2_NodeOffset] +=  -d_staticContributions[admsNodeID_c1][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_e1] +d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_c2] +d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_c1];
  dFdx[li_c2][A_c2_Equ_b2_NodeOffset] +=  -d_staticContributions[admsNodeID_c2][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_e1] +d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_c2] +d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_c1];
  dFdx[li_e1][A_e1_Equ_c1_NodeOffset] +=  -d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_e1][admsProbeID_V_c1_c2];
  dFdx[li_e1][A_e1_Equ_c2_NodeOffset] +=  -d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_e1][admsProbeID_V_c1_c2];
  dFdx[li_e1][A_e1_Equ_b2_NodeOffset] +=  +d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_e1] +d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_c2] +d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_c1];
  dFdx[li_c2][A_c2_Equ_e1_NodeOffset] +=  -d_staticContributions[admsNodeID_c2][admsProbeID_V_b2_e1];
  dFdx[li_e1][A_e1_Equ_e1_NodeOffset] +=  -d_staticContributions[admsNodeID_e1][admsProbeID_V_e_e1] -d_staticContributions[admsNodeID_e1][admsProbeID_V_b1_e1] -d_staticContributions[admsNodeID_e1][admsProbeID_V_b2_e1];
  dFdx[li_b1][A_b1_Equ_b1_NodeOffset] +=  -d_staticContributions[admsNodeID_b1][admsProbeID_V_b_b1] +d_staticContributions[admsNodeID_b1][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_b1][admsProbeID_V_b1_e1];
  dFdx[li_b1][A_b1_Equ_e1_NodeOffset] +=  -d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_e1] -d_staticContributions[admsNodeID_b1][admsProbeID_V_b1_e1];
  dFdx[li_e1][A_e1_Equ_b1_NodeOffset] +=  +d_staticContributions[admsNodeID_e1][admsProbeID_V_b1_e1];
  dFdx[li_b2][A_b2_Equ_b2_NodeOffset] +=  -d_staticContributions[admsNodeID_b2][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_c2] +d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_e1];
  dFdx[li_b2][A_b2_Equ_e1_NodeOffset] +=  -d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_e1];
  dFdx[li_b2][A_b2_Equ_c1_NodeOffset] +=  -d_staticContributions[admsNodeID_b2][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_b2][admsProbeID_V_c3_c1] -d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_b2][admsProbeID_V_c1_c2];
  dFdx[li_b2][A_b2_Equ_c2_NodeOffset] +=  -d_staticContributions[admsNodeID_b2][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_b2][admsProbeID_V_c1_c2];
  dFdx[li_b1][A_b1_Equ_s_NodeOffset] +=  +d_staticContributions[admsNodeID_b1][admsProbeID_V_s_c1];
  dFdx[li_b1][A_b1_Equ_c1_NodeOffset] +=  -d_staticContributions[admsNodeID_b1][admsProbeID_V_c3_c1] -d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_b1][admsProbeID_V_c1_c2] -d_staticContributions[admsNodeID_b1][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_b1][admsProbeID_V_s_c1];
  dFdx[li_s][A_s_Equ_s_NodeOffset] +=  +d_staticContributions[admsNodeID_s][admsProbeID_V_s_c1];
  dFdx[li_s][A_s_Equ_c1_NodeOffset] +=  -d_staticContributions[admsNodeID_s][admsProbeID_V_c3_c1] -d_staticContributions[admsNodeID_s][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_s][admsProbeID_V_c1_c2] -d_staticContributions[admsNodeID_s][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_s][admsProbeID_V_s_c1];
  dFdx[li_b1][A_b1_Equ_c4_NodeOffset] +=  -d_staticContributions[admsNodeID_b1][admsProbeID_V_c3_c4] +d_staticContributions[admsNodeID_b1][admsProbeID_V_c4_c1];
  dFdx[li_s][A_s_Equ_c4_NodeOffset] +=  -d_staticContributions[admsNodeID_s][admsProbeID_V_c3_c4] +d_staticContributions[admsNodeID_s][admsProbeID_V_c4_c1];
  dFdx[li_b1][A_b1_Equ_c2_NodeOffset] +=  -d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_b1][admsProbeID_V_c1_c2];
  dFdx[li_s][A_s_Equ_c2_NodeOffset] +=  -d_staticContributions[admsNodeID_s][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_s][admsProbeID_V_c1_c2];
  dFdx[li_b1][A_b1_Equ_b2_NodeOffset] +=  +d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_e1] +d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_c1] -d_staticContributions[admsNodeID_b1][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_b1][admsProbeID_V_b2_c2];
  dFdx[li_s][A_s_Equ_b2_NodeOffset] +=  +d_staticContributions[admsNodeID_s][admsProbeID_V_b2_e1] +d_staticContributions[admsNodeID_s][admsProbeID_V_b2_c1] -d_staticContributions[admsNodeID_s][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_s][admsProbeID_V_b2_c2];
  dFdx[li_s][A_s_Equ_b1_NodeOffset] +=  -d_staticContributions[admsNodeID_s][admsProbeID_V_b_b1] +d_staticContributions[admsNodeID_s][admsProbeID_V_b1_b2];
  dFdx[li_b][A_b_Equ_s_NodeOffset] +=  +d_staticContributions[admsNodeID_b][admsProbeID_V_s_c1];
  dFdx[li_b][A_b_Equ_c1_NodeOffset] +=  -d_staticContributions[admsNodeID_b][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_b][admsProbeID_V_c3_c1] -d_staticContributions[admsNodeID_b][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_b][admsProbeID_V_c1_c2] -d_staticContributions[admsNodeID_b][admsProbeID_V_s_c1];
  dFdx[li_b][A_b_Equ_c2_NodeOffset] +=  -d_staticContributions[admsNodeID_b][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_b][admsProbeID_V_c1_c2];
  dFdx[li_b][A_b_Equ_b2_NodeOffset] +=  -d_staticContributions[admsNodeID_b][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_b][admsProbeID_V_b2_e1] +d_staticContributions[admsNodeID_b][admsProbeID_V_b2_c2] +d_staticContributions[admsNodeID_b][admsProbeID_V_b2_c1];
  dFdx[li_b][A_b_Equ_e1_NodeOffset] +=  -d_staticContributions[admsNodeID_b][admsProbeID_V_b2_e1];
  dFdx[li_s][A_s_Equ_e1_NodeOffset] +=  -d_staticContributions[admsNodeID_s][admsProbeID_V_b2_e1];
  dFdx[li_b][A_b_Equ_c3_NodeOffset] +=  +d_staticContributions[admsNodeID_b][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_b][admsProbeID_V_c3_c4];
  dFdx[li_b][A_b_Equ_c4_NodeOffset] +=  +d_staticContributions[admsNodeID_b][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_b][admsProbeID_V_c3_c4];
  dFdx[li_s][A_s_Equ_c3_NodeOffset] +=  +d_staticContributions[admsNodeID_s][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_s][admsProbeID_V_c3_c4];
  dFdx[li_b][A_b_Equ_b1_NodeOffset] +=  -d_staticContributions[admsNodeID_b][admsProbeID_V_b_b1] +d_staticContributions[admsNodeID_b][admsProbeID_V_b1_b2];
  dFdx[li_b][A_b_Equ_b_NodeOffset] +=  +d_staticContributions[admsNodeID_b][admsProbeID_V_b_c] +d_staticContributions[admsNodeID_b][admsProbeID_V_b_b1];
  dFdx[li_s][A_s_Equ_b_NodeOffset] +=  +d_staticContributions[admsNodeID_s][admsProbeID_V_b_c] +d_staticContributions[admsNodeID_s][admsProbeID_V_b_b1];
  dFdx[li_b][A_b_Equ_c_NodeOffset] +=  -d_staticContributions[admsNodeID_b][admsProbeID_V_b_c];
  dFdx[li_s][A_s_Equ_c_NodeOffset] +=  -d_staticContributions[admsNodeID_s][admsProbeID_V_b_c];
  dFdx[li_c1][A_c1_Equ_s_NodeOffset] +=  +d_staticContributions[admsNodeID_c1][admsProbeID_V_s_c1];
  dFdx[li_b1][A_b1_Equ_c3_NodeOffset] +=  +d_staticContributions[admsNodeID_b1][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_b1][admsProbeID_V_c3_c4];
  dFdx[li_b2][A_b2_Equ_c3_NodeOffset] +=  +d_staticContributions[admsNodeID_b2][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_b2][admsProbeID_V_c3_c4];
  dFdx[li_b2][A_b2_Equ_c4_NodeOffset] +=  +d_staticContributions[admsNodeID_b2][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_b2][admsProbeID_V_c3_c4];
  dFdx[li_b1][A_b1_Equ_b_NodeOffset] +=  +d_staticContributions[admsNodeID_b1][admsProbeID_V_b_c] +d_staticContributions[admsNodeID_b1][admsProbeID_V_b_b1];
  dFdx[li_b2][A_b2_Equ_b_NodeOffset] +=  +d_staticContributions[admsNodeID_b2][admsProbeID_V_b_c] +d_staticContributions[admsNodeID_b2][admsProbeID_V_b_b1];
  dFdx[li_b2][A_b2_Equ_b1_NodeOffset] +=  +d_staticContributions[admsNodeID_b2][admsProbeID_V_b1_b2] -d_staticContributions[admsNodeID_b2][admsProbeID_V_b_b1];
  dFdx[li_b1][A_b1_Equ_c_NodeOffset] +=  -d_staticContributions[admsNodeID_b1][admsProbeID_V_b_c];
  dFdx[li_b2][A_b2_Equ_c_NodeOffset] +=  -d_staticContributions[admsNodeID_b2][admsProbeID_V_b_c];
  dFdx[li_c2][A_c2_Equ_c3_NodeOffset] +=  +d_staticContributions[admsNodeID_c2][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_c2][admsProbeID_V_c3_c4];
  dFdx[li_c2][A_c2_Equ_c4_NodeOffset] +=  +d_staticContributions[admsNodeID_c2][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_c2][admsProbeID_V_c3_c4];
  dFdx[li_c2][A_c2_Equ_b1_NodeOffset] +=  -d_staticContributions[admsNodeID_c2][admsProbeID_V_b_b1] +d_staticContributions[admsNodeID_c2][admsProbeID_V_b1_b2];
  dFdx[li_c2][A_c2_Equ_b_NodeOffset] +=  +d_staticContributions[admsNodeID_c2][admsProbeID_V_b_c] +d_staticContributions[admsNodeID_c2][admsProbeID_V_b_b1];
  dFdx[li_c2][A_c2_Equ_c_NodeOffset] +=  -d_staticContributions[admsNodeID_c2][admsProbeID_V_b_c];
  dFdx[li_e][A_e_Equ_e_NodeOffset] +=  +d_staticContributions[admsNodeID_e][admsProbeID_V_e_e1];
  dFdx[li_e][A_e_Equ_e1_NodeOffset] +=  -d_staticContributions[admsNodeID_e][admsProbeID_V_e_e1];
  dFdx[li_e1][A_e1_Equ_e_NodeOffset] +=  +d_staticContributions[admsNodeID_e1][admsProbeID_V_e_e1];
  dFdx[li_c1][A_c1_Equ_e1_NodeOffset] +=  -d_staticContributions[admsNodeID_c1][admsProbeID_V_b2_e1];
  dFdx[li_c1][A_c1_Equ_b1_NodeOffset] +=  -d_staticContributions[admsNodeID_c1][admsProbeID_V_b_b1] +d_staticContributions[admsNodeID_c1][admsProbeID_V_b1_b2];
  dFdx[li_c1][A_c1_Equ_c4_NodeOffset] +=  -d_staticContributions[admsNodeID_c1][admsProbeID_V_c3_c4] +d_staticContributions[admsNodeID_c1][admsProbeID_V_c4_c1];
  dFdx[li_c1][A_c1_Equ_c3_NodeOffset] +=  +d_staticContributions[admsNodeID_c1][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_c1][admsProbeID_V_c3_c4];
  dFdx[li_c1][A_c1_Equ_b_NodeOffset] +=  +d_staticContributions[admsNodeID_c1][admsProbeID_V_b_c] +d_staticContributions[admsNodeID_c1][admsProbeID_V_b_b1];
  dFdx[li_c1][A_c1_Equ_c_NodeOffset] +=  -d_staticContributions[admsNodeID_c1][admsProbeID_V_b_c];
  dFdx[li_c][A_c_Equ_b_NodeOffset] +=  +d_staticContributions[admsNodeID_c][admsProbeID_V_b_c] +d_staticContributions[admsNodeID_c][admsProbeID_V_b_b1];
  dFdx[li_c][A_c_Equ_c_NodeOffset] +=  -d_staticContributions[admsNodeID_c][admsProbeID_V_b_c];
  dFdx[li_c3][A_c3_Equ_s_NodeOffset] +=  +d_staticContributions[admsNodeID_c3][admsProbeID_V_s_c1];
  dFdx[li_c3][A_c3_Equ_c1_NodeOffset] +=  -d_staticContributions[admsNodeID_c3][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c1] -d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_c3][admsProbeID_V_c1_c2] -d_staticContributions[admsNodeID_c3][admsProbeID_V_s_c1];
  dFdx[li_c3][A_c3_Equ_c2_NodeOffset] +=  -d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_c3][admsProbeID_V_c1_c2];
  dFdx[li_c3][A_c3_Equ_b2_NodeOffset] +=  -d_staticContributions[admsNodeID_c3][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_e1] +d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_c2] +d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_c1];
  dFdx[li_c3][A_c3_Equ_e1_NodeOffset] +=  -d_staticContributions[admsNodeID_c3][admsProbeID_V_b2_e1];
  dFdx[li_c3][A_c3_Equ_c3_NodeOffset] +=  +d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c4];
  dFdx[li_c3][A_c3_Equ_c4_NodeOffset] +=  +d_staticContributions[admsNodeID_c3][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_c3][admsProbeID_V_c3_c4];
  dFdx[li_c3][A_c3_Equ_b1_NodeOffset] +=  -d_staticContributions[admsNodeID_c3][admsProbeID_V_b_b1] +d_staticContributions[admsNodeID_c3][admsProbeID_V_b1_b2];
  dFdx[li_c3][A_c3_Equ_b_NodeOffset] +=  +d_staticContributions[admsNodeID_c3][admsProbeID_V_b_c] +d_staticContributions[admsNodeID_c3][admsProbeID_V_b_b1];
  dFdx[li_c3][A_c3_Equ_c_NodeOffset] +=  -d_staticContributions[admsNodeID_c3][admsProbeID_V_b_c];
  dFdx[li_c][A_c_Equ_c3_NodeOffset] +=  +d_staticContributions[admsNodeID_c][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_c][admsProbeID_V_c3_c4];
  dFdx[li_c][A_c_Equ_c4_NodeOffset] +=  +d_staticContributions[admsNodeID_c][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_c][admsProbeID_V_c3_c4];
  dFdx[li_c][A_c_Equ_c1_NodeOffset] +=  +d_staticContributions[admsNodeID_c][admsProbeID_V_c1_c2] -d_staticContributions[admsNodeID_c][admsProbeID_V_c4_c1] -d_staticContributions[admsNodeID_c][admsProbeID_V_c3_c1];
  dFdx[li_c][A_c_Equ_c2_NodeOffset] +=  -d_staticContributions[admsNodeID_c][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_c][admsProbeID_V_c1_c2];
  dFdx[li_c][A_c_Equ_b2_NodeOffset] +=  -d_staticContributions[admsNodeID_c][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_c][admsProbeID_V_b2_c2];
  dFdx[li_c][A_c_Equ_b1_NodeOffset] +=  -d_staticContributions[admsNodeID_c][admsProbeID_V_b_b1] +d_staticContributions[admsNodeID_c][admsProbeID_V_b1_b2];
  dFdx[li_c4][A_c4_Equ_c4_NodeOffset] +=  -d_staticContributions[admsNodeID_c4][admsProbeID_V_c3_c4] +d_staticContributions[admsNodeID_c4][admsProbeID_V_c4_c1];
  dFdx[li_c4][A_c4_Equ_c1_NodeOffset] +=  -d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_c1] -d_staticContributions[admsNodeID_c4][admsProbeID_V_s_c1] -d_staticContributions[admsNodeID_c4][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_c4][admsProbeID_V_c1_c2] -d_staticContributions[admsNodeID_c4][admsProbeID_V_c4_c1];
  dFdx[li_c4][A_c4_Equ_b2_NodeOffset] +=  +d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_c1] -d_staticContributions[admsNodeID_c4][admsProbeID_V_b1_b2] +d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_c2] +d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_e1];
  dFdx[li_c4][A_c4_Equ_e1_NodeOffset] +=  -d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_e1];
  dFdx[li_c4][A_c4_Equ_c2_NodeOffset] +=  -d_staticContributions[admsNodeID_c4][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_c4][admsProbeID_V_c1_c2];
  dFdx[li_c4][A_c4_Equ_b1_NodeOffset] +=  -d_staticContributions[admsNodeID_c4][admsProbeID_V_b_b1] +d_staticContributions[admsNodeID_c4][admsProbeID_V_b1_b2];
  dFdx[li_c4][A_c4_Equ_c3_NodeOffset] +=  +d_staticContributions[admsNodeID_c4][admsProbeID_V_c3_c1] +d_staticContributions[admsNodeID_c4][admsProbeID_V_c3_c4];
  dFdx[li_c4][A_c4_Equ_s_NodeOffset] +=  +d_staticContributions[admsNodeID_c4][admsProbeID_V_s_c1];
  dFdx[li_c4][A_c4_Equ_b_NodeOffset] +=  +d_staticContributions[admsNodeID_c4][admsProbeID_V_b_c] +d_staticContributions[admsNodeID_c4][admsProbeID_V_b_b1];
  dFdx[li_c4][A_c4_Equ_c_NodeOffset] +=  -d_staticContributions[admsNodeID_c4][admsProbeID_V_b_c];
  dFdx[li_noi][A_noi_Equ_c1_NodeOffset] +=  -d_staticContributions[admsNodeID_noi][admsProbeID_V_b2_c1] +d_staticContributions[admsNodeID_noi][admsProbeID_V_c1_c2];
  dFdx[li_noi][A_noi_Equ_c2_NodeOffset] +=  -d_staticContributions[admsNodeID_noi][admsProbeID_V_b2_c2] -d_staticContributions[admsNodeID_noi][admsProbeID_V_c1_c2];
  dFdx[li_noi][A_noi_Equ_b2_NodeOffset] +=  +d_staticContributions[admsNodeID_noi][admsProbeID_V_b2_e1] +d_staticContributions[admsNodeID_noi][admsProbeID_V_b2_c2] +d_staticContributions[admsNodeID_noi][admsProbeID_V_b2_c1];
  dFdx[li_noi][A_noi_Equ_e1_NodeOffset] +=  -d_staticContributions[admsNodeID_noi][admsProbeID_V_b2_e1];
  dFdx[li_noi][A_noi_Equ_noi_NodeOffset] +=  +d_staticContributions[admsNodeID_noi][admsProbeID_V_noi_GND];
  dFdx[li_b2][A_b2_Equ_noi_NodeOffset] +=  +d_staticContributions[admsNodeID_b2][admsProbeID_V_noi_GND];
  dFdx[li_e1][A_e1_Equ_noi_NodeOffset] +=  +d_staticContributions[admsNodeID_e1][admsProbeID_V_noi_GND];
  dFdx[li_c2][A_c2_Equ_noi_NodeOffset] +=  +d_staticContributions[admsNodeID_c2][admsProbeID_V_noi_GND];

#endif

  return bsuccess;
}


//-----------------------------------------------------------------------------
// Function      : Instance::loadDAEdQdx
// Purpose       :
// Special Notes : Load the dQdx ("dynamic jacobian") matrix
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
bool Instance::loadDAEdQdx()
{
  bool bsuccess = true;
  Linear::Matrix & dQdx = *(extData.dQdxMatrixPtr);

#ifndef Xyce_NONPOINTER_MATRIX_LOAD
  (*q_c1_Equ_c1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_s_c1] -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c3_c1] -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_c1] +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c1_c2];
  (*q_c1_Equ_c2_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_c2] -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c1_c2];
  (*q_c2_Equ_c1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_c1] +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c1_c2] -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c3_c1];
  (*q_c2_Equ_c2_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_c2] -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c1_c2];
  (*q_c1_Equ_b2_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_e1] +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_c2] +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_c1];
  (*q_c2_Equ_b2_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_c2] +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_c1] +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_e1] -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b1_b2];
  (*q_e1_Equ_c1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_c1] +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c1_c2] -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c3_c1];
  (*q_e1_Equ_c2_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_c2] -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c1_c2];
  (*q_e1_Equ_b2_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_e1] +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_c2] +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_c1] -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b1_b2];
  (*q_c2_Equ_e1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_e1];
  (*q_e1_Equ_e1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b1_e1] -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_e1];
  (*q_b1_Equ_b1_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_b2] -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_e1];
  (*q_b1_Equ_e1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_e1] -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_e1];
  (*q_e1_Equ_b1_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b1_e1] -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b1_b2];
  (*q_b2_Equ_b2_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_e1] +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_c2] +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_c1] -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b1_b2];
  (*q_b2_Equ_e1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_e1];
  (*q_b2_Equ_c1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_c1] +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c1_c2] -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c3_c1];
  (*q_b2_Equ_c2_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_c2] -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c1_c2];
  (*q_b1_Equ_c1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c3_c1] -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c1] +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c1_c2];
  (*q_s_Equ_s_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_s][admsProbeID_V_s_c1];
  (*q_s_Equ_c1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_s][admsProbeID_V_s_c1] -d_dynamicContributions[admsNodeID_s][admsProbeID_V_c3_c1] -d_dynamicContributions[admsNodeID_s][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_c1] +d_dynamicContributions[admsNodeID_s][admsProbeID_V_c1_c2];
  (*q_b1_Equ_c4_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c3_c4];
  (*q_s_Equ_c4_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_s][admsProbeID_V_c3_c4] +d_dynamicContributions[admsNodeID_s][admsProbeID_V_c4_c1];
  (*q_b1_Equ_c2_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c2] -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c1_c2];
  (*q_s_Equ_c2_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_c2] -d_dynamicContributions[admsNodeID_s][admsProbeID_V_c1_c2];
  (*q_b1_Equ_b2_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_e1] +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c2] +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c1];
  (*q_s_Equ_b2_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_s][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_e1] +d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_c2] +d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_c1];
  (*q_s_Equ_b1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_s][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_s][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_s][admsProbeID_V_b1_e1];
  (*q_b_Equ_s_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_b][admsProbeID_V_s_c1];
  (*q_b_Equ_c1_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_b][admsProbeID_V_c1_c2] -d_dynamicContributions[admsNodeID_b][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_b][admsProbeID_V_c3_c1] -d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_c1] -d_dynamicContributions[admsNodeID_b][admsProbeID_V_s_c1];
  (*q_b_Equ_c2_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_c2] -d_dynamicContributions[admsNodeID_b][admsProbeID_V_c1_c2];
  (*q_b_Equ_b2_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_b][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_c2] +d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_e1] +d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_c1];
  (*q_b_Equ_e1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_b][admsProbeID_V_b1_e1] -d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_e1];
  (*q_s_Equ_e1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_s][admsProbeID_V_b1_e1] -d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_e1];
  (*q_b_Equ_c3_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_b][admsProbeID_V_c3_c1] +d_dynamicContributions[admsNodeID_b][admsProbeID_V_c3_c4];
  (*q_b_Equ_c4_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_b][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_b][admsProbeID_V_c3_c4];
  (*q_s_Equ_c3_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_s][admsProbeID_V_c3_c1] +d_dynamicContributions[admsNodeID_s][admsProbeID_V_c3_c4];
  (*q_b_Equ_b1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_b][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_b][admsProbeID_V_b1_e1];
  (*q_b_Equ_b_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_c] +d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_e];
  (*q_s_Equ_b_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_s][admsProbeID_V_b_c] +d_dynamicContributions[admsNodeID_s][admsProbeID_V_b_b1];
  (*q_b_Equ_c_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_c];
  (*q_s_Equ_c_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_s][admsProbeID_V_b_c];
  (*q_c1_Equ_s_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_s_c1];
  (*q_b1_Equ_c3_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c3_c1] +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c3_c4];
  (*q_b2_Equ_c3_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c3_c1] +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c3_c4];
  (*q_b2_Equ_c4_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c3_c4];
  (*q_b1_Equ_b_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b_c] +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b_b1];
  (*q_b2_Equ_b_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_c] +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_b1];
  (*q_b2_Equ_b1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b1_b2];
  (*q_b1_Equ_c_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b_c];
  (*q_b2_Equ_c_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_c];
  (*q_c2_Equ_c3_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c3_c1] +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c3_c4];
  (*q_c2_Equ_c4_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c3_c4];
  (*q_c2_Equ_b1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b1_b2];
  (*q_c2_Equ_b_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b_c] +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b_b1];
  (*q_c2_Equ_c_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b_c];
  (*q_e_Equ_e_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_e][admsProbeID_V_b_e];
  (*q_e1_Equ_c3_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c3_c1] +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c3_c4];
  (*q_e1_Equ_c4_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c3_c4];
  (*q_e1_Equ_b_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b_c] +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b_b1];
  (*q_e1_Equ_c_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b_c];
  (*q_c1_Equ_e1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_e1] -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_e1];
  (*q_c1_Equ_b1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_e1];
  (*q_c1_Equ_c4_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c3_c4] +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c4_c1];
  (*q_c1_Equ_c3_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c3_c1] +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c3_c4];
  (*q_c1_Equ_b_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b_c] +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b_b1];
  (*q_c1_Equ_c_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b_c];
  (*q_b_Equ_e_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_e];
  (*q_e_Equ_b_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_e][admsProbeID_V_b_e];
  (*q_c_Equ_b_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_c][admsProbeID_V_b_c];
  (*q_c_Equ_c_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c][admsProbeID_V_b_c];
  (*q_c3_Equ_s_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_s_c1];
  (*q_c3_Equ_c1_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c1_c2] -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c3_c1] -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_c1] -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_s_c1];
  (*q_c3_Equ_c2_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_c2] -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c1_c2];
  (*q_c3_Equ_b2_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_c2] +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_e1] +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_c1];
  (*q_c3_Equ_e1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b1_e1] -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_e1];
  (*q_c3_Equ_c3_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c3_c1] +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c3_c4];
  (*q_c3_Equ_c4_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c3_c4];
  (*q_c3_Equ_b1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b1_e1];
  (*q_c3_Equ_b_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b_c] +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b_b1];
  (*q_c3_Equ_c_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b_c];
  (*q_c4_Equ_c4_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c3_c4] +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c4_c1];
  (*q_c4_Equ_c1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c3_c1] -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_s_c1] +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c1_c2] -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_c1];
  (*q_c4_Equ_b2_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_c2] +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_e1] +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_c1];
  (*q_c4_Equ_e1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b1_e1] -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_e1];
  (*q_c4_Equ_c2_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_c2] -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c1_c2];
  (*q_c4_Equ_b1_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b1_e1];
  (*q_c4_Equ_c3_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c3_c1] +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c3_c4];
  (*q_c4_Equ_s_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_s_c1];
  (*q_c4_Equ_b_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b_c] +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b_b1];
  (*q_c4_Equ_c_Node_Ptr) +=  -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b_c];
  (*q_b2_Equ_noi_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_noi_GND];
  (*q_e1_Equ_noi_Node_Ptr) +=  +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_noi_GND];

#else
  //use the offsets instead of pointers
  dQdx[li_c1][A_c1_Equ_c1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_s_c1] -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c3_c1] -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_c1] +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c1_c2];
  dQdx[li_c1][A_c1_Equ_c2_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_c2] -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c1_c2];
  dQdx[li_c2][A_c2_Equ_c1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_c1] +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c1_c2] -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c3_c1];
  dQdx[li_c2][A_c2_Equ_c2_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_c2] -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c1_c2];
  dQdx[li_c1][A_c1_Equ_b2_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_e1] +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_c2] +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_c1];
  dQdx[li_c2][A_c2_Equ_b2_NodeOffset] +=  +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_c2] +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_c1] +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_e1] -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b1_b2];
  dQdx[li_e1][A_e1_Equ_c1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_c1] +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c1_c2] -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c3_c1];
  dQdx[li_e1][A_e1_Equ_c2_NodeOffset] +=  -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_c2] -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c1_c2];
  dQdx[li_e1][A_e1_Equ_b2_NodeOffset] +=  +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_e1] +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_c2] +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_c1] -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b1_b2];
  dQdx[li_c2][A_c2_Equ_e1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b2_e1];
  dQdx[li_e1][A_e1_Equ_e1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b1_e1] -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b2_e1];
  dQdx[li_b1][A_b1_Equ_b1_NodeOffset] +=  +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_b2] -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_e1];
  dQdx[li_b1][A_b1_Equ_e1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_e1] -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_e1];
  dQdx[li_e1][A_e1_Equ_b1_NodeOffset] +=  +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b1_e1] -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b1_b2];
  dQdx[li_b2][A_b2_Equ_b2_NodeOffset] +=  +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_e1] +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_c2] +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_c1] -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b1_b2];
  dQdx[li_b2][A_b2_Equ_e1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_e1];
  dQdx[li_b2][A_b2_Equ_c1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_c1] +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c1_c2] -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c3_c1];
  dQdx[li_b2][A_b2_Equ_c2_NodeOffset] +=  -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b2_c2] -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c1_c2];
  dQdx[li_b1][A_b1_Equ_c1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c3_c1] -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c1] +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c1_c2];
  dQdx[li_s][A_s_Equ_s_NodeOffset] +=  +d_dynamicContributions[admsNodeID_s][admsProbeID_V_s_c1];
  dQdx[li_s][A_s_Equ_c1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_s][admsProbeID_V_s_c1] -d_dynamicContributions[admsNodeID_s][admsProbeID_V_c3_c1] -d_dynamicContributions[admsNodeID_s][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_c1] +d_dynamicContributions[admsNodeID_s][admsProbeID_V_c1_c2];
  dQdx[li_b1][A_b1_Equ_c4_NodeOffset] +=  +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c3_c4];
  dQdx[li_s][A_s_Equ_c4_NodeOffset] +=  -d_dynamicContributions[admsNodeID_s][admsProbeID_V_c3_c4] +d_dynamicContributions[admsNodeID_s][admsProbeID_V_c4_c1];
  dQdx[li_b1][A_b1_Equ_c2_NodeOffset] +=  -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c2] -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c1_c2];
  dQdx[li_s][A_s_Equ_c2_NodeOffset] +=  -d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_c2] -d_dynamicContributions[admsNodeID_s][admsProbeID_V_c1_c2];
  dQdx[li_b1][A_b1_Equ_b2_NodeOffset] +=  -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_e1] +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c2] +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b2_c1];
  dQdx[li_s][A_s_Equ_b2_NodeOffset] +=  -d_dynamicContributions[admsNodeID_s][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_e1] +d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_c2] +d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_c1];
  dQdx[li_s][A_s_Equ_b1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_s][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_s][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_s][admsProbeID_V_b1_e1];
  dQdx[li_b][A_b_Equ_s_NodeOffset] +=  +d_dynamicContributions[admsNodeID_b][admsProbeID_V_s_c1];
  dQdx[li_b][A_b_Equ_c1_NodeOffset] +=  +d_dynamicContributions[admsNodeID_b][admsProbeID_V_c1_c2] -d_dynamicContributions[admsNodeID_b][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_b][admsProbeID_V_c3_c1] -d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_c1] -d_dynamicContributions[admsNodeID_b][admsProbeID_V_s_c1];
  dQdx[li_b][A_b_Equ_c2_NodeOffset] +=  -d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_c2] -d_dynamicContributions[admsNodeID_b][admsProbeID_V_c1_c2];
  dQdx[li_b][A_b_Equ_b2_NodeOffset] +=  -d_dynamicContributions[admsNodeID_b][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_c2] +d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_e1] +d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_c1];
  dQdx[li_b][A_b_Equ_e1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_b][admsProbeID_V_b1_e1] -d_dynamicContributions[admsNodeID_b][admsProbeID_V_b2_e1];
  dQdx[li_s][A_s_Equ_e1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_s][admsProbeID_V_b1_e1] -d_dynamicContributions[admsNodeID_s][admsProbeID_V_b2_e1];
  dQdx[li_b][A_b_Equ_c3_NodeOffset] +=  +d_dynamicContributions[admsNodeID_b][admsProbeID_V_c3_c1] +d_dynamicContributions[admsNodeID_b][admsProbeID_V_c3_c4];
  dQdx[li_b][A_b_Equ_c4_NodeOffset] +=  +d_dynamicContributions[admsNodeID_b][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_b][admsProbeID_V_c3_c4];
  dQdx[li_s][A_s_Equ_c3_NodeOffset] +=  +d_dynamicContributions[admsNodeID_s][admsProbeID_V_c3_c1] +d_dynamicContributions[admsNodeID_s][admsProbeID_V_c3_c4];
  dQdx[li_b][A_b_Equ_b1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_b][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_b][admsProbeID_V_b1_e1];
  dQdx[li_b][A_b_Equ_b_NodeOffset] +=  +d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_c] +d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_e];
  dQdx[li_s][A_s_Equ_b_NodeOffset] +=  +d_dynamicContributions[admsNodeID_s][admsProbeID_V_b_c] +d_dynamicContributions[admsNodeID_s][admsProbeID_V_b_b1];
  dQdx[li_b][A_b_Equ_c_NodeOffset] +=  -d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_c];
  dQdx[li_s][A_s_Equ_c_NodeOffset] +=  -d_dynamicContributions[admsNodeID_s][admsProbeID_V_b_c];
  dQdx[li_c1][A_c1_Equ_s_NodeOffset] +=  +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_s_c1];
  dQdx[li_b1][A_b1_Equ_c3_NodeOffset] +=  +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c3_c1] +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_c3_c4];
  dQdx[li_b2][A_b2_Equ_c3_NodeOffset] +=  +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c3_c1] +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c3_c4];
  dQdx[li_b2][A_b2_Equ_c4_NodeOffset] +=  +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_c3_c4];
  dQdx[li_b1][A_b1_Equ_b_NodeOffset] +=  +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b_c] +d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b_b1];
  dQdx[li_b2][A_b2_Equ_b_NodeOffset] +=  +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_c] +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_b1];
  dQdx[li_b2][A_b2_Equ_b1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b1_b2];
  dQdx[li_b1][A_b1_Equ_c_NodeOffset] +=  -d_dynamicContributions[admsNodeID_b1][admsProbeID_V_b_c];
  dQdx[li_b2][A_b2_Equ_c_NodeOffset] +=  -d_dynamicContributions[admsNodeID_b2][admsProbeID_V_b_c];
  dQdx[li_c2][A_c2_Equ_c3_NodeOffset] +=  +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c3_c1] +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c3_c4];
  dQdx[li_c2][A_c2_Equ_c4_NodeOffset] +=  +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_c3_c4];
  dQdx[li_c2][A_c2_Equ_b1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b1_b2];
  dQdx[li_c2][A_c2_Equ_b_NodeOffset] +=  +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b_c] +d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b_b1];
  dQdx[li_c2][A_c2_Equ_c_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c2][admsProbeID_V_b_c];
  dQdx[li_e][A_e_Equ_e_NodeOffset] +=  -d_dynamicContributions[admsNodeID_e][admsProbeID_V_b_e];
  dQdx[li_e1][A_e1_Equ_c3_NodeOffset] +=  +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c3_c1] +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c3_c4];
  dQdx[li_e1][A_e1_Equ_c4_NodeOffset] +=  +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_c3_c4];
  dQdx[li_e1][A_e1_Equ_b_NodeOffset] +=  +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b_c] +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b_b1];
  dQdx[li_e1][A_e1_Equ_c_NodeOffset] +=  -d_dynamicContributions[admsNodeID_e1][admsProbeID_V_b_c];
  dQdx[li_c1][A_c1_Equ_e1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_e1] -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b2_e1];
  dQdx[li_c1][A_c1_Equ_b1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b1_e1];
  dQdx[li_c1][A_c1_Equ_c4_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c3_c4] +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c4_c1];
  dQdx[li_c1][A_c1_Equ_c3_NodeOffset] +=  +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c3_c1] +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_c3_c4];
  dQdx[li_c1][A_c1_Equ_b_NodeOffset] +=  +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b_c] +d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b_b1];
  dQdx[li_c1][A_c1_Equ_c_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c1][admsProbeID_V_b_c];
  dQdx[li_b][A_b_Equ_e_NodeOffset] +=  -d_dynamicContributions[admsNodeID_b][admsProbeID_V_b_e];
  dQdx[li_e][A_e_Equ_b_NodeOffset] +=  +d_dynamicContributions[admsNodeID_e][admsProbeID_V_b_e];
  dQdx[li_c][A_c_Equ_b_NodeOffset] +=  +d_dynamicContributions[admsNodeID_c][admsProbeID_V_b_c];
  dQdx[li_c][A_c_Equ_c_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c][admsProbeID_V_b_c];
  dQdx[li_c3][A_c3_Equ_s_NodeOffset] +=  +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_s_c1];
  dQdx[li_c3][A_c3_Equ_c1_NodeOffset] +=  +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c1_c2] -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c3_c1] -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_c1] -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_s_c1];
  dQdx[li_c3][A_c3_Equ_c2_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_c2] -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c1_c2];
  dQdx[li_c3][A_c3_Equ_b2_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_c2] +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_e1] +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_c1];
  dQdx[li_c3][A_c3_Equ_e1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b1_e1] -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b2_e1];
  dQdx[li_c3][A_c3_Equ_c3_NodeOffset] +=  +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c3_c1] +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c3_c4];
  dQdx[li_c3][A_c3_Equ_c4_NodeOffset] +=  +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_c3_c4];
  dQdx[li_c3][A_c3_Equ_b1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b1_e1];
  dQdx[li_c3][A_c3_Equ_b_NodeOffset] +=  +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b_c] +d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b_b1];
  dQdx[li_c3][A_c3_Equ_c_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c3][admsProbeID_V_b_c];
  dQdx[li_c4][A_c4_Equ_c4_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c3_c4] +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c4_c1];
  dQdx[li_c4][A_c4_Equ_c1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c3_c1] -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_s_c1] +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c1_c2] -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c4_c1] -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_c1];
  dQdx[li_c4][A_c4_Equ_b2_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_c2] +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_e1] +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_c1];
  dQdx[li_c4][A_c4_Equ_e1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b1_e1] -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_e1];
  dQdx[li_c4][A_c4_Equ_c2_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b2_c2] -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c1_c2];
  dQdx[li_c4][A_c4_Equ_b1_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b_b1] +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b1_b2] +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b1_e1];
  dQdx[li_c4][A_c4_Equ_c3_NodeOffset] +=  +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c3_c1] +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_c3_c4];
  dQdx[li_c4][A_c4_Equ_s_NodeOffset] +=  +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_s_c1];
  dQdx[li_c4][A_c4_Equ_b_NodeOffset] +=  +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b_c] +d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b_b1];
  dQdx[li_c4][A_c4_Equ_c_NodeOffset] +=  -d_dynamicContributions[admsNodeID_c4][admsProbeID_V_b_c];
  dQdx[li_b2][A_b2_Equ_noi_NodeOffset] +=  +d_dynamicContributions[admsNodeID_b2][admsProbeID_V_noi_GND];
  dQdx[li_e1][A_e1_Equ_noi_NodeOffset] +=  +d_dynamicContributions[admsNodeID_e1][admsProbeID_V_noi_GND];


#endif
  return bsuccess;
}




//-----------------------------------------------------------------------------
// Function      : Instance::updateTemperature
// Purpose       : Set temperature and update any parameters that depend on it
// Special Notes : In Xyce ADMS, we'll simply copy the temperature, which is
//                 in Kelvin, to our "admsTemperature" variable, which needs
//                 to be in Celsius.
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
bool Instance::updateTemperature(const double & temperatureTemp)
{

  admsTemperature = temperatureTemp;
  adms_vt_nom = adms_vt(temperatureTemp);

  return true;
}

// Class Model
//-----------------------------------------------------------------------------
// Function      : Model::processParams
// Purpose       :
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
bool Model::processParams()
{

  // Set any non-constant parameter defaults:
  // Set any parameters that were not given and whose defaults depend on other
  // parameters:

// set internal model type based on model card type
if (getType() == "pnp" || getType() == "PNP")
    TYPE = -1;



  // Now we need to check that any parameters are within their ranges as
  // specified in the verilog:

//    Parameter LEVEL : [ 504, 505 [
  if ( (!((LEVEL >=504 && LEVEL <505 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter LEVEL value " << LEVEL << " out of range [ 504, 505 [";
  }

//    Parameter TREF : [ (-273.0),  (+inf) [
  if ( (!((TREF >=(-273.0)))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter TREF value " << TREF << " out of range [ (-273.0),  (+inf) [";
  }

//    Parameter EXMOD : [ 0, 2 ]
  if ( (!((EXMOD >=0 && EXMOD <=2 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter EXMOD value " << EXMOD << " out of range [ 0, 2 ]";
  }

//    Parameter EXPHI : [ 0, 1 ]
  if ( (!((EXPHI >=0 && EXPHI <=1 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter EXPHI value " << EXPHI << " out of range [ 0, 1 ]";
  }

//    Parameter EXAVL : [ 0, 1 ]
  if ( (!((EXAVL >=0 && EXAVL <=1 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter EXAVL value " << EXAVL << " out of range [ 0, 1 ]";
  }

//    Parameter EXSUB : [ 0, 1 ]
  if ( (!((EXSUB >=0 && EXSUB <=1 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter EXSUB value " << EXSUB << " out of range [ 0, 1 ]";
  }

//    Parameter IS : ] 0.0,  (+inf) [
  if ( (!((IS >0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter IS value " << IS << " out of range ] 0.0,  (+inf) [";
  }

//    Parameter IK : [ 1.0*1.0e-12,  (+inf) [
  if ( (!((IK >=1.0*1.0e-12))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter IK value " << IK << " out of range [ 1.0*1.0e-12,  (+inf) [";
  }

//    Parameter VER : [ 0.01,  (+inf) [
  if ( (!((VER >=0.01))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter VER value " << VER << " out of range [ 0.01,  (+inf) [";
  }

//    Parameter VEF : [ 0.01,  (+inf) [
  if ( (!((VEF >=0.01))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter VEF value " << VEF << " out of range [ 0.01,  (+inf) [";
  }

//    Parameter BF : [ 0.1*1.0e-3,  (+inf) [
  if ( (!((BF >=0.1*1.0e-3))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter BF value " << BF << " out of range [ 0.1*1.0e-3,  (+inf) [";
  }

//    Parameter IBF : [ 0.0,  (+inf) [
  if ( (!((IBF >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter IBF value " << IBF << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter MLF : [ 0.1,  (+inf) [
  if ( (!((MLF >=0.1))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter MLF value " << MLF << " out of range [ 0.1,  (+inf) [";
  }

//    Parameter XIBI : [ 0.0, 1.0 ]
  if ( (!((XIBI >=0.0 && XIBI <=1.0 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter XIBI value " << XIBI << " out of range [ 0.0, 1.0 ]";
  }

//    Parameter IZEB : [ 0.0,  (+inf) [
  if ( (!((IZEB >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter IZEB value " << IZEB << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter NZEB : [ 0.0,  (+inf) [
  if ( (!((NZEB >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter NZEB value " << NZEB << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter BRI : [ 1.0e-4,  (+inf) [
  if ( (!((BRI >=1.0e-4))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter BRI value " << BRI << " out of range [ 1.0e-4,  (+inf) [";
  }

//    Parameter IBR : [ 0.0,  (+inf) [
  if ( (!((IBR >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter IBR value " << IBR << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter XEXT : [ 0.0, 1.0 ]
  if ( (!((XEXT >=0.0 && XEXT <=1.0 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter XEXT value " << XEXT << " out of range [ 0.0, 1.0 ]";
  }

//    Parameter WAVL : [ 1.0*1.0e-9,  (+inf) [
  if ( (!((WAVL >=1.0*1.0e-9))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter WAVL value " << WAVL << " out of range [ 1.0*1.0e-9,  (+inf) [";
  }

//    Parameter VAVL : [ 0.01,  (+inf) [
  if ( (!((VAVL >=0.01))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter VAVL value " << VAVL << " out of range [ 0.01,  (+inf) [";
  }

//    Parameter SFH : [ 0.0,  (+inf) [
  if ( (!((SFH >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter SFH value " << SFH << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter RE : [ 1.0*1.0e-3,  (+inf) [
  if ( (!((RE >=1.0*1.0e-3))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter RE value " << RE << " out of range [ 1.0*1.0e-3,  (+inf) [";
  }

//    Parameter RBC : [ 1.0*1.0e-3,  (+inf) [
  if ( (!((RBC >=1.0*1.0e-3))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter RBC value " << RBC << " out of range [ 1.0*1.0e-3,  (+inf) [";
  }

//    Parameter RBV : [ 1.0*1.0e-3,  (+inf) [
  if ( (!((RBV >=1.0*1.0e-3))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter RBV value " << RBV << " out of range [ 1.0*1.0e-3,  (+inf) [";
  }

//    Parameter RCC : [ 1.0*1.0e-3,  (+inf) [
  if ( (!((RCC >=1.0*1.0e-3))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter RCC value " << RCC << " out of range [ 1.0*1.0e-3,  (+inf) [";
  }

//    Parameter RCV : [ 1.0*1.0e-3,  (+inf) [
  if ( (!((RCV >=1.0*1.0e-3))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter RCV value " << RCV << " out of range [ 1.0*1.0e-3,  (+inf) [";
  }

//    Parameter SCRCV : [ 1.0*1.0e-3,  (+inf) [
  if ( (!((SCRCV >=1.0*1.0e-3))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter SCRCV value " << SCRCV << " out of range [ 1.0*1.0e-3,  (+inf) [";
  }

//    Parameter IHC : [ 1.0*1.0e-12,  (+inf) [
  if ( (!((IHC >=1.0*1.0e-12))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter IHC value " << IHC << " out of range [ 1.0*1.0e-12,  (+inf) [";
  }

//    Parameter AXI : [ 0.02,  (+inf) [
  if ( (!((AXI >=0.02))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter AXI value " << AXI << " out of range [ 0.02,  (+inf) [";
  }

//    Parameter CJE : [ 0.0,  (+inf) [
  if ( (!((CJE >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter CJE value " << CJE << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter VDE : [ 0.05,  (+inf) [
  if ( (!((VDE >=0.05))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter VDE value " << VDE << " out of range [ 0.05,  (+inf) [";
  }

//    Parameter PE : [ 0.01, 0.99 [
  if ( (!((PE >=0.01 && PE <0.99 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter PE value " << PE << " out of range [ 0.01, 0.99 [";
  }

//    Parameter XCJE : [ 0.0, 1.0 ]
  if ( (!((XCJE >=0.0 && XCJE <=1.0 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter XCJE value " << XCJE << " out of range [ 0.0, 1.0 ]";
  }

//    Parameter CBEO : [ 0.0,  (+inf) [
  if ( (!((CBEO >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter CBEO value " << CBEO << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter CJC : [ 0.0,  (+inf) [
  if ( (!((CJC >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter CJC value " << CJC << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter VDC : [ 0.05,  (+inf) [
  if ( (!((VDC >=0.05))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter VDC value " << VDC << " out of range [ 0.05,  (+inf) [";
  }

//    Parameter PC : [ 0.01, 0.99 [
  if ( (!((PC >=0.01 && PC <0.99 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter PC value " << PC << " out of range [ 0.01, 0.99 [";
  }

//    Parameter XP : [ 0.0, 0.99 [
  if ( (!((XP >=0.0 && XP <0.99 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter XP value " << XP << " out of range [ 0.0, 0.99 [";
  }

//    Parameter MC : [ 0.0, 1.0 [
  if ( (!((MC >=0.0 && MC <1.0 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter MC value " << MC << " out of range [ 0.0, 1.0 [";
  }

//    Parameter XCJC : [ 0.0, 1.0 ]
  if ( (!((XCJC >=0.0 && XCJC <=1.0 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter XCJC value " << XCJC << " out of range [ 0.0, 1.0 ]";
  }

//    Parameter RCBLX : [ 0.0,  (+inf) [
  if ( (!((RCBLX >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter RCBLX value " << RCBLX << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter RCBLI : [ 0.0,  (+inf) [
  if ( (!((RCBLI >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter RCBLI value " << RCBLI << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter CBCO : [ 0.0,  (+inf) [
  if ( (!((CBCO >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter CBCO value " << CBCO << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter MTAU : [ 0.1,  (+inf) [
  if ( (!((MTAU >=0.1))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter MTAU value " << MTAU << " out of range [ 0.1,  (+inf) [";
  }

//    Parameter TAUE : [ 0.0,  (+inf) [
  if ( (!((TAUE >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter TAUE value " << TAUE << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter TAUB : ] 0.0,  (+inf) [
  if ( (!((TAUB >0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter TAUB value " << TAUB << " out of range ] 0.0,  (+inf) [";
  }

//    Parameter TEPI : [ 0.0,  (+inf) [
  if ( (!((TEPI >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter TEPI value " << TEPI << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter TAUR : [ 0.0,  (+inf) [
  if ( (!((TAUR >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter TAUR value " << TAUR << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter XREC : [ 0.0,  (+inf) [
  if ( (!((XREC >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter XREC value " << XREC << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter XQB : [ 0.0, 1.0 ]
  if ( (!((XQB >=0.0 && XQB <=1.0 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter XQB value " << XQB << " out of range [ 0.0, 1.0 ]";
  }

//    Parameter ACBL : [ 0.0,  (+inf) [
  if ( (!((ACBL >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter ACBL value " << ACBL << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter VGB : [ 0.1,  (+inf) [
  if ( (!((VGB >=0.1))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter VGB value " << VGB << " out of range [ 0.1,  (+inf) [";
  }

//    Parameter VGC : [ 0.1,  (+inf) [
  if ( (!((VGC >=0.1))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter VGC value " << VGC << " out of range [ 0.1,  (+inf) [";
  }

//    Parameter VGJ : [ 0.1,  (+inf) [
  if ( (!((VGJ >=0.1))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter VGJ value " << VGJ << " out of range [ 0.1,  (+inf) [";
  }

//    Parameter VGZEB : [ 0.1,  (+inf) [
  if ( (!((VGZEB >=0.1))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter VGZEB value " << VGZEB << " out of range [ 0.1,  (+inf) [";
  }

//    Parameter AVGEB :  ] (-inf)  (+inf) [

//    Parameter TVGEB : [ 0.0,  (+inf) [
  if ( (!((TVGEB >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter TVGEB value " << TVGEB << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter AF : [ 0.01,  (+inf) [
  if ( (!((AF >=0.01))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter AF value " << AF << " out of range [ 0.01,  (+inf) [";
  }

//    Parameter KF : [ 0.0,  (+inf) [
  if ( (!((KF >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter KF value " << KF << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter KFN : [ 0.0,  (+inf) [
  if ( (!((KFN >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter KFN value " << KFN << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter KAVL : [ 0, 1 ]
  if ( (!((KAVL >=0 && KAVL <=1 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter KAVL value " << KAVL << " out of range [ 0, 1 ]";
  }

//    Parameter KC : [ 0, 2 ]
  if ( (!((KC >=0 && KC <=2 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter KC value " << KC << " out of range [ 0, 2 ]";
  }

//    Parameter KE : [ 0.0, 1.0 ]
  if ( (!((KE >=0.0 && KE <=1.0 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter KE value " << KE << " out of range [ 0.0, 1.0 ]";
  }

//    Parameter FTAUN : [ 0.0, 1.0 ]
  if ( (!((FTAUN >=0.0 && FTAUN <=1.0 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter FTAUN value " << FTAUN << " out of range [ 0.0, 1.0 ]";
  }

//    Parameter ISS : [ 0.0,  (+inf) [
  if ( (!((ISS >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter ISS value " << ISS << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter ICSS :  ] (-inf)  (+inf) [

//    Parameter IKS : [ 1.0*1.0e-12,  (+inf) [
  if ( (!((IKS >=1.0*1.0e-12))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter IKS value " << IKS << " out of range [ 1.0*1.0e-12,  (+inf) [";
  }

//    Parameter CJS : [ 0.0,  (+inf) [
  if ( (!((CJS >=0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter CJS value " << CJS << " out of range [ 0.0,  (+inf) [";
  }

//    Parameter VDS : ] 0.05,  (+inf) [
  if ( (!((VDS >0.05))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter VDS value " << VDS << " out of range ] 0.05,  (+inf) [";
  }

//    Parameter PS : ] 0.01, 0.99 [
  if ( (!((PS >0.01 && PS <0.99 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter PS value " << PS << " out of range ] 0.01, 0.99 [";
  }

//    Parameter VGS : [ 0.1,  (+inf) [
  if ( (!((VGS >=0.1))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter VGS value " << VGS << " out of range [ 0.1,  (+inf) [";
  }

//    Parameter MULT : ] 0.0,  (+inf) [
  if ( (!((MULT >0.0))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter MULT value " << MULT << " out of range ] 0.0,  (+inf) [";
  }

//    Parameter TYPE : [ (-1), 1 ]] 0, 0 [
  if ( (!((TYPE >=(-1) && TYPE <=1 )) || (TYPE >0 && TYPE <0 )) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter TYPE value " << TYPE << " out of range [ (-1), 1 ] or  ] 0, 0 [";
  }

//    Parameter GMIN : ] 0.0, 1e-10 ]
  if ( (!((GMIN >0.0 && GMIN <=1e-10 ))) )
  {
    UserWarning(*this) << "ADMSbjt504va: Parameter GMIN value " << GMIN << " out of range ] 0.0, 1e-10 ]";
  }

  // and of course, this routine is where we should put the initial_model
  // stuff


  return true;
}
//----------------------------------------------------------------------------
// Function      : Model::processInstanceParams
// Purpose       :
// Special Notes :
// Scope         : public
// Creator       :
// Creation Date :
//----------------------------------------------------------------------------
bool Model::processInstanceParams()
{

  std::vector<Instance*>::iterator iter;
  std::vector<Instance*>::iterator first = instanceContainer.begin();
  std::vector<Instance*>::iterator last  = instanceContainer.end();

  for (iter=first; iter!=last; ++iter)
  {
    (*iter)->processParams();
  }

  return true;
}

//-----------------------------------------------------------------------------
// Function      : Model::Model
// Purpose       : model block constructor
// Special Notes :
// Scope         : public
// Creator       :
// Creation Date :
//-----------------------------------------------------------------------------
Model::Model(
  const Configuration & configuration,
  const ModelBlock &    model_block,
  const FactoryBlock &  factory_block)
  : DeviceModel(model_block, configuration.getModelParameters(), factory_block),
    LEVEL(504),
    TREF(25.0),
    DTA(0.0),
    EXMOD(1),
    EXPHI(1),
    EXAVL(0),
    EXSUB(0),
    IS(22.0*1.0e-18),
    IK(0.1),
    VER(2.5),
    VEF(44.0),
    BF(215.0),
    IBF(2.7*1.0e-15),
    MLF(2.0),
    XIBI(0.0),
    IZEB(0.0),
    NZEB(22.0),
    BRI(7.0),
    IBR(1.0*1.0e-15),
    VLR(0.2),
    XEXT(0.63),
    WAVL(1.1*1.0e-6),
    VAVL(3.0),
    SFH(0.3),
    RE(5.0),
    RBC(23.0),
    RBV(18.0),
    RCC(12.0),
    RCV(150.0),
    SCRCV(1250.0),
    IHC(4.0*1.0e-3),
    AXI(0.3),
    CJE(73.0*1.0e-15),
    VDE(0.95),
    PE(0.4),
    XCJE(0.4),
    CBEO(0.0),
    CJC(78.0*1.0e-15),
    VDC(0.68),
    PC(0.5),
    XP(0.35),
    MC(0.5),
    XCJC(32.0*1.0e-3),
    RCBLX(0.0),
    RCBLI(0.0),
    CBCO(0.0),
    MTAU(1.0),
    TAUE(2.0*1.0e-12),
    TAUB(4.2*1.0e-12),
    TEPI(41.0*1.0e-12),
    TAUR(520.0*1.0e-12),
    DEG(0.0),
    XREC(0.0),
    XQB(0.33333333333333333333),
    AQBO(0.3),
    AE(0.0),
    AB(1.0),
    AEPI(2.5),
    AEX(0.62),
    AC(2.0),
    ACBL(2.0),
    DVGBF(50.0*1.0e-3),
    DVGBR(45.0*1.0e-3),
    VGB(1.17),
    VGC(1.18),
    VGJ(1.15),
    VGZEB(1.15),
    AVGEB(4.73e-4),
    TVGEB(636.0),
    DVGTE(0.05),
    DAIS(0.0),
    AF(2.0),
    KF(20.0*1.0e-12),
    KFN(20.0*1.0e-12),
    KAVL(0),
    KC(0),
    KE(0.0),
    FTAUN(0.0),
    ISS(48.0*1.0e-18),
    ICSS((-1.0)),
    IKS(250.0*1.0e-6),
    CJS(315.0*1.0e-15),
    VDS(0.62),
    PS(0.34),
    VGS(1.20),
    AS(1.58),
    ASUB(2.0),
    MULT(1.0),
    TYPE(1),
    GMIN(1.0e-13)
{
  // Set params to constant default values (from parTable):
  setDefaultParams();

  // Set params according to .model line and constant defaults from metadata:
  setModParams(model_block.params);

  if (!given("XYCEADMSMODTEMP"))
    admsModTemp=getDeviceOptions().temp.getImmutableValue<double>();

  // Calculate any parameters specified as expressions:

  updateDependentParameters();

  // calculate dependent (ie computed) params and check for errors:
  processParams();
}

//-----------------------------------------------------------------------------
// Function      : Model::~Model
// Purpose       : destructor
// Special Notes :
// Scope         : public
// Creator       :
// Creation Date :
//-----------------------------------------------------------------------------
Model::~Model()
{
  std::vector<Instance*>::iterator iterI;
  std::vector<Instance*>::iterator firstI = instanceContainer.begin ();
  std::vector<Instance*>::iterator lastI  = instanceContainer.end ();

  // loop over instances:
  for (iterI = firstI; iterI != lastI; ++iterI)
  {
    delete (*iterI);
  }
}

//-----------------------------------------------------------------------------
// Function      : Model::printOutInstances
// Purpose       : debugging tool.
// Special Notes :
// Scope         : public
// Creator       :
// Creation Date :
//-----------------------------------------------------------------------------
std::ostream &Model::printOutInstances(std::ostream &os) const
{
  std::vector<Instance*>::const_iterator iter;
  std::vector<Instance*>::const_iterator first = instanceContainer.begin();
  std::vector<Instance*>::const_iterator last  = instanceContainer.end();

  int i;
  os << std::endl;
  os << "    name     model name  Parameters" << std::endl;
  for (i=0, iter=first; iter!=last; ++iter, ++i)
  {
    os << "  " << i << ": " << (*iter)->getName() << "      ";
    os << getName();

    os << std::endl;
      os << "MULT  =  " << (*iter)->MULT << std::endl;
    os << std::endl;
  }

  os << std::endl;

  return os;
}

//-----------------------------------------------------------------------------
// Function      : Model::forEachInstance
// Purpose       :
// Special Notes :
// Scope         : public
// Creator       : David Baur
// Creation Date : 2/4/2014
//-----------------------------------------------------------------------------
/// Apply a device instance "op" to all instances associated with this
/// model
///
/// @param[in] op Operator to apply to all instances.
///
///
void Model::forEachInstance(DeviceInstanceOp &op) const
{
  for (std::vector<Instance *>::const_iterator it = instanceContainer.begin(); it != instanceContainer.end(); ++it)
    op(*it);
}

Device *Traits::factory(const Configuration &configuration, const FactoryBlock &factory_block)
{
  return new DeviceMaster<Traits>(configuration, factory_block, factory_block.solverState_, factory_block.deviceOptions_);
}

void
registerDevice(const DeviceCountMap& deviceMap, const std::set<int>& levelSet)
{
if (deviceMap.empty() ||
((deviceMap.find("Q") != deviceMap.end() && (levelSet.find(504)!=levelSet.end()))))
{
BJT::registerDevice();

  Config<Traits>::addConfiguration()
    .registerDevice("q", 504)
    .registerModelType("npn", 504)
    .registerModelType("pnp", 504);
}
}


#ifdef Xyce_ADMS_SENSITIVITIES
//-----------------------------------------------------------------------------
// Function      : evaluateInitialInstance
// Purpose       : Evaluate the statements in the initial_instance block
// Special Notes : specific for sensitivity use
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
void evaluateInitialInstance(
instanceSensStruct & instanceStruct,
modelSensStruct & modelStruct,
 double admsTemperature, double adms_vt_nom, double ADMSgmin_arg, const Instance & theInstance)
{
  double Tk300=0.0;
double d_Tk300_dX=0.0;
  double ICSS_T=0.0;
double d_ICSS_T_dX=0.0;
  double ISS_T=0.0;
double d_ISS_T_dX=0.0;
  double IZEB_T=0.0;
double d_IZEB_T_dX=0.0;
  double y=0.0;
double d_y_dX=0.0;
  double tempx=0.0;
double d_tempx_dX=0.0;
  double IBR_T=0.0;
double d_IBR_T_dX=0.0;
  double IBF_T=0.0;
double d_IBF_T_dX=0.0;
  double IK_T=0.0;
double d_IK_T_dX=0.0;
  double RCV_T=0.0;
double d_RCV_T_dX=0.0;
  double RCCin_T=0.0;
double d_RCCin_T_dX=0.0;
  double RCCex_T=0.0;
double d_RCCex_T_dX=0.0;
  double RCCxx_T=0.0;
double d_RCCxx_T_dX=0.0;
  double RBC_T=0.0;
double d_RBC_T_dX=0.0;
  double RBV_T=0.0;
double d_RBV_T_dX=0.0;
  double RE_T=0.0;
double d_RE_T_dX=0.0;
  double CJC_T=0.0;
double d_CJC_T_dX=0.0;
  double CJCscaleINV=0.0;
double d_CJCscaleINV_dX=0.0;
  double CJCscale=0.0;
double d_CJCscale_dX=0.0;
  double CJS_T=0.0;
double d_CJS_T_dX=0.0;
  double CJE_T=0.0;
double d_CJE_T_dX=0.0;
  double CJE_T_div_CJE=0.0;
double d_CJE_T_div_CJE_dX=0.0;
  double UdsT=0.0;
double d_UdsT_dX=0.0;
  double UdcT=0.0;
double d_UdcT_dX=0.0;
  double UdeT=0.0;
double d_UdeT_dX=0.0;
  double lntN=0.0;
double d_lntN_dX=0.0;
  double VdtINV=0.0;
double d_VdtINV_dX=0.0;
  double VtrINV=0.0;
double d_VtrINV_dX=0.0;
  double Vtr=0.0;
double d_Vtr_dX=0.0;
  double tN=0.0;
double d_tN_dX=0.0;
  double Vdt=0.0;
  double inv_VDE=0.0;
double d_inv_VDE_dX=0.0;
  double inv_VGZEB_Tr=0.0;
double d_inv_VGZEB_Tr_dX=0.0;
  double VGZEB_Tr=0.0;
double d_VGZEB_Tr_dX=0.0;
  double VGZEBOK=0.0;
double d_VGZEBOK_dX=0.0;
  double Tamb=0.0;
double d_Tamb_dX=0.0;
  double Trk=0.0;
double d_Trk_dX=0.0;
  double invMULT=0.0;
double d_invMULT_dX=0.0;
  double Bn=0.0;
//Begin block initial_instance
{
if ((modelStruct.modelPar_TYPE==1))
{
instanceStruct.instanceVar_An = 7.03e7;
Bn = 1.23e8;
}
else
{
instanceStruct.instanceVar_An = 1.58e8;
Bn = 2.04e8;
}
instanceStruct.d_instanceVar_Xext1_dX = (-modelStruct.d_modelPar_XEXT_dX);
instanceStruct.instanceVar_Xext1 = (1.0-modelStruct.modelPar_XEXT);
instanceStruct.d_instanceVar_CBEO_M_dX = (modelStruct.modelPar_CBEO*instanceStruct.d_instancePar_MULT_dX+modelStruct.d_modelPar_CBEO_dX*instanceStruct.instancePar_MULT);
instanceStruct.instanceVar_CBEO_M = (modelStruct.modelPar_CBEO*instanceStruct.instancePar_MULT);
instanceStruct.d_instanceVar_CBCO_M_dX = (modelStruct.modelPar_CBCO*instanceStruct.d_instancePar_MULT_dX+modelStruct.d_modelPar_CBCO_dX*instanceStruct.instancePar_MULT);
instanceStruct.instanceVar_CBCO_M = (modelStruct.modelPar_CBCO*instanceStruct.instancePar_MULT);
d_invMULT_dX = (-instanceStruct.d_instancePar_MULT_dX/instanceStruct.instancePar_MULT/instanceStruct.instancePar_MULT);
invMULT = (1.0/instanceStruct.instancePar_MULT);
instanceStruct.d_instanceVar_SCRCV_M_dX = (modelStruct.modelPar_SCRCV*d_invMULT_dX+modelStruct.d_modelPar_SCRCV_dX*invMULT);
instanceStruct.instanceVar_SCRCV_M = (modelStruct.modelPar_SCRCV*invMULT);
{
double value_pow_0 = pow(instanceStruct.instancePar_MULT,(1.0-modelStruct.modelPar_AF));
double  deriv_pow_0_d0 = ((instanceStruct.instancePar_MULT == 0.0)?0.0:(value_pow_0*(1.0-modelStruct.modelPar_AF)/instanceStruct.instancePar_MULT));
double  deriv_pow_0_d1 = (instanceStruct.instancePar_MULT == 0.0)?0.0:(log(instanceStruct.instancePar_MULT)*value_pow_0);
instanceStruct.d_instanceVar_KF_M_dX = (modelStruct.modelPar_KF*((deriv_pow_0_d0*(instanceStruct.d_instancePar_MULT_dX))+(deriv_pow_0_d1*((-modelStruct.d_modelPar_AF_dX))))+modelStruct.d_modelPar_KF_dX*value_pow_0);
instanceStruct.instanceVar_KF_M = (modelStruct.modelPar_KF*value_pow_0);
}
{
double value_pow_0 = pow(instanceStruct.instancePar_MULT,(1.0-((2.0*(modelStruct.modelPar_MLF-1.0))+(modelStruct.modelPar_AF*(2.0-modelStruct.modelPar_MLF)))));
double  deriv_pow_0_d0 = ((instanceStruct.instancePar_MULT == 0.0)?0.0:(value_pow_0*(1.0-((2.0*(modelStruct.modelPar_MLF-1.0))+(modelStruct.modelPar_AF*(2.0-modelStruct.modelPar_MLF))))/instanceStruct.instancePar_MULT));
double  deriv_pow_0_d1 = (instanceStruct.instancePar_MULT == 0.0)?0.0:(log(instanceStruct.instancePar_MULT)*value_pow_0);
instanceStruct.d_instanceVar_KFN_M_dX = (modelStruct.modelPar_KFN*((deriv_pow_0_d0*(instanceStruct.d_instancePar_MULT_dX))+(deriv_pow_0_d1*((-(2.0*modelStruct.d_modelPar_MLF_dX+(modelStruct.modelPar_AF*(-modelStruct.d_modelPar_MLF_dX)+modelStruct.d_modelPar_AF_dX*(2.0-modelStruct.modelPar_MLF)))))))+modelStruct.d_modelPar_KFN_dX*value_pow_0);
instanceStruct.instanceVar_KFN_M = (modelStruct.modelPar_KFN*value_pow_0);
}
{
double value_pow_0 = pow(2.0,(2.0-modelStruct.modelPar_PE));
double  deriv_pow_0_d1 = (2.0 == 0.0)?0.0:(log(2.0)*value_pow_0);
instanceStruct.d_instanceVar_pow2_2mPE_dX = (deriv_pow_0_d1*((-modelStruct.d_modelPar_PE_dX)));
instanceStruct.instanceVar_pow2_2mPE = value_pow_0;
}
instanceStruct.d_instanceVar_pow2_PEm2_dX = (-instanceStruct.d_instanceVar_pow2_2mPE_dX/instanceStruct.instanceVar_pow2_2mPE/instanceStruct.instanceVar_pow2_2mPE);
instanceStruct.instanceVar_pow2_PEm2 = (1.0/instanceStruct.instanceVar_pow2_2mPE);
d_Trk_dX = modelStruct.d_modelPar_TREF_dX;
Trk = (modelStruct.modelPar_TREF+273.15);
d_Tamb_dX = modelStruct.d_modelPar_DTA_dX;
Tamb = (admsTemperature+modelStruct.modelPar_DTA);
instanceStruct.d_instanceVar_dxa_dX = ((modelStruct.d_modelPar_VGZEB_dX+(((Trk+modelStruct.modelPar_TVGEB)*((modelStruct.modelPar_AVGEB*Trk)*d_Trk_dX+(modelStruct.modelPar_AVGEB*d_Trk_dX+modelStruct.d_modelPar_AVGEB_dX*Trk)*Trk)-((modelStruct.modelPar_AVGEB*Trk)*Trk)*(d_Trk_dX+modelStruct.d_modelPar_TVGEB_dX))/(Trk+modelStruct.modelPar_TVGEB)/(Trk+modelStruct.modelPar_TVGEB)))/0.1);
instanceStruct.instanceVar_dxa = (((modelStruct.modelPar_VGZEB+(((modelStruct.modelPar_AVGEB*Trk)*Trk)/(Trk+modelStruct.modelPar_TVGEB)))-0.05)/0.1);
if (((modelStruct.modelPar_VGZEB+(((modelStruct.modelPar_AVGEB*Trk)*Trk)/(Trk+modelStruct.modelPar_TVGEB)))<0.05))
{
{
double value_exp_0 = exp(instanceStruct.instanceVar_dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
d_VGZEBOK_dX = 0.1*deriv_log_1_d0*(deriv_exp_0_d0*(instanceStruct.d_instanceVar_dxa_dX));
VGZEBOK = (0.05+(0.1*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-instanceStruct.instanceVar_dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
d_VGZEBOK_dX = ((modelStruct.d_modelPar_VGZEB_dX+(((Trk+modelStruct.modelPar_TVGEB)*((modelStruct.modelPar_AVGEB*Trk)*d_Trk_dX+(modelStruct.modelPar_AVGEB*d_Trk_dX+modelStruct.d_modelPar_AVGEB_dX*Trk)*Trk)-((modelStruct.modelPar_AVGEB*Trk)*Trk)*(d_Trk_dX+modelStruct.d_modelPar_TVGEB_dX))/(Trk+modelStruct.modelPar_TVGEB)/(Trk+modelStruct.modelPar_TVGEB)))+0.1*deriv_log_1_d0*(deriv_exp_0_d0*((-instanceStruct.d_instanceVar_dxa_dX))));
VGZEBOK = ((modelStruct.modelPar_VGZEB+(((modelStruct.modelPar_AVGEB*Trk)*Trk)/(Trk+modelStruct.modelPar_TVGEB)))+(0.1*value_log_1));
}
}
d_VGZEB_Tr_dX = modelStruct.d_modelPar_VGZEB_dX;
VGZEB_Tr = modelStruct.modelPar_VGZEB;
d_inv_VGZEB_Tr_dX = (-d_VGZEB_Tr_dX/VGZEB_Tr/VGZEB_Tr);
inv_VGZEB_Tr = (1.0/VGZEB_Tr);
d_inv_VDE_dX = (-modelStruct.d_modelPar_VDE_dX/modelStruct.modelPar_VDE/modelStruct.modelPar_VDE);
inv_VDE = (1.0/modelStruct.modelPar_VDE);
Vdt = 0.0;
instanceStruct.d_instanceVar_Tk_dX = d_Tamb_dX;
instanceStruct.instanceVar_Tk = (Tamb+Vdt);
d_tN_dX = ((Trk*instanceStruct.d_instanceVar_Tk_dX-instanceStruct.instanceVar_Tk*d_Trk_dX)/Trk/Trk);
tN = (instanceStruct.instanceVar_Tk/Trk);
instanceStruct.d_instanceVar_Vt_dX = 8.61708691805812512584e-5*instanceStruct.d_instanceVar_Tk_dX;
instanceStruct.instanceVar_Vt = (8.61708691805812512584e-5*instanceStruct.instanceVar_Tk);
d_Vtr_dX = 8.61708691805812512584e-5*d_Trk_dX;
Vtr = (8.61708691805812512584e-5*Trk);
instanceStruct.d_instanceVar_VtINV_dX = (-instanceStruct.d_instanceVar_Vt_dX/instanceStruct.instanceVar_Vt/instanceStruct.instanceVar_Vt);
instanceStruct.instanceVar_VtINV = (1.0/instanceStruct.instanceVar_Vt);
d_VtrINV_dX = (-d_Vtr_dX/Vtr/Vtr);
VtrINV = (1.0/Vtr);
d_VdtINV_dX = (instanceStruct.d_instanceVar_VtINV_dX-d_VtrINV_dX);
VdtINV = (instanceStruct.instanceVar_VtINV-VtrINV);
{
double value_log_0 = log(tN);
double  deriv_log_0_d0 = (1.0/tN);
d_lntN_dX = deriv_log_0_d0*(d_tN_dX);
lntN = value_log_0;
}
instanceStruct.d_instanceVar_dxa_dX = ((d_VGZEBOK_dX-(((instanceStruct.instanceVar_Tk+modelStruct.modelPar_TVGEB)*((modelStruct.modelPar_AVGEB*instanceStruct.instanceVar_Tk)*instanceStruct.d_instanceVar_Tk_dX+(modelStruct.modelPar_AVGEB*instanceStruct.d_instanceVar_Tk_dX+modelStruct.d_modelPar_AVGEB_dX*instanceStruct.instanceVar_Tk)*instanceStruct.instanceVar_Tk)-((modelStruct.modelPar_AVGEB*instanceStruct.instanceVar_Tk)*instanceStruct.instanceVar_Tk)*(instanceStruct.d_instanceVar_Tk_dX+modelStruct.d_modelPar_TVGEB_dX))/(instanceStruct.instanceVar_Tk+modelStruct.modelPar_TVGEB)/(instanceStruct.instanceVar_Tk+modelStruct.modelPar_TVGEB)))/0.1);
instanceStruct.instanceVar_dxa = (((VGZEBOK-(((modelStruct.modelPar_AVGEB*instanceStruct.instanceVar_Tk)*instanceStruct.instanceVar_Tk)/(instanceStruct.instanceVar_Tk+modelStruct.modelPar_TVGEB)))-0.05)/0.1);
if (((VGZEBOK-(((modelStruct.modelPar_AVGEB*instanceStruct.instanceVar_Tk)*instanceStruct.instanceVar_Tk)/(instanceStruct.instanceVar_Tk+modelStruct.modelPar_TVGEB)))<0.05))
{
{
double value_exp_0 = exp(instanceStruct.instanceVar_dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
instanceStruct.d_instanceVar_VGZEB_T_dX = 0.1*deriv_log_1_d0*(deriv_exp_0_d0*(instanceStruct.d_instanceVar_dxa_dX));
instanceStruct.instanceVar_VGZEB_T = (0.05+(0.1*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-instanceStruct.instanceVar_dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
instanceStruct.d_instanceVar_VGZEB_T_dX = ((d_VGZEBOK_dX-(((instanceStruct.instanceVar_Tk+modelStruct.modelPar_TVGEB)*((modelStruct.modelPar_AVGEB*instanceStruct.instanceVar_Tk)*instanceStruct.d_instanceVar_Tk_dX+(modelStruct.modelPar_AVGEB*instanceStruct.d_instanceVar_Tk_dX+modelStruct.d_modelPar_AVGEB_dX*instanceStruct.instanceVar_Tk)*instanceStruct.instanceVar_Tk)-((modelStruct.modelPar_AVGEB*instanceStruct.instanceVar_Tk)*instanceStruct.instanceVar_Tk)*(instanceStruct.d_instanceVar_Tk_dX+modelStruct.d_modelPar_TVGEB_dX))/(instanceStruct.instanceVar_Tk+modelStruct.modelPar_TVGEB)/(instanceStruct.instanceVar_Tk+modelStruct.modelPar_TVGEB)))+0.1*deriv_log_1_d0*(deriv_exp_0_d0*((-instanceStruct.d_instanceVar_dxa_dX))));
instanceStruct.instanceVar_VGZEB_T = ((VGZEBOK-(((modelStruct.modelPar_AVGEB*instanceStruct.instanceVar_Tk)*instanceStruct.instanceVar_Tk)/(instanceStruct.instanceVar_Tk+modelStruct.modelPar_TVGEB)))+(0.1*value_log_1));
}
}
{
double value_log_0 = log(tN);
double  deriv_log_0_d0 = (1.0/tN);
d_UdeT_dX = (((((-3.0)*instanceStruct.instanceVar_Vt)*deriv_log_0_d0*(d_tN_dX)+(-3.0)*instanceStruct.d_instanceVar_Vt_dX*value_log_0)+(modelStruct.modelPar_VDE*d_tN_dX+modelStruct.d_modelPar_VDE_dX*tN))+((1.0-tN)*modelStruct.d_modelPar_VGB_dX+(-d_tN_dX)*modelStruct.modelPar_VGB));
UdeT = (((((-3.0)*instanceStruct.instanceVar_Vt)*value_log_0)+(modelStruct.modelPar_VDE*tN))+((1.0-tN)*modelStruct.modelPar_VGB));
}
instanceStruct.d_instanceVar_dxa_dX = ((instanceStruct.instanceVar_Vt*(-d_UdeT_dX)-(0.05-UdeT)*instanceStruct.d_instanceVar_Vt_dX)/instanceStruct.instanceVar_Vt/instanceStruct.instanceVar_Vt);
instanceStruct.instanceVar_dxa = ((0.05-UdeT)/instanceStruct.instanceVar_Vt);
if ((0.05<UdeT))
{
{
double value_exp_0 = exp(instanceStruct.instanceVar_dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
instanceStruct.d_instanceVar_VDE_T_dX = (d_UdeT_dX+(instanceStruct.instanceVar_Vt*deriv_log_1_d0*(deriv_exp_0_d0*(instanceStruct.d_instanceVar_dxa_dX))+instanceStruct.d_instanceVar_Vt_dX*value_log_1));
instanceStruct.instanceVar_VDE_T = (UdeT+(instanceStruct.instanceVar_Vt*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-instanceStruct.instanceVar_dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
instanceStruct.d_instanceVar_VDE_T_dX = (instanceStruct.instanceVar_Vt*deriv_log_1_d0*(deriv_exp_0_d0*((-instanceStruct.d_instanceVar_dxa_dX)))+instanceStruct.d_instanceVar_Vt_dX*value_log_1);
instanceStruct.instanceVar_VDE_T = (0.05+(instanceStruct.instanceVar_Vt*value_log_1));
}
}
{
double value_log_0 = log(tN);
double  deriv_log_0_d0 = (1.0/tN);
d_UdcT_dX = (((((-3.0)*instanceStruct.instanceVar_Vt)*deriv_log_0_d0*(d_tN_dX)+(-3.0)*instanceStruct.d_instanceVar_Vt_dX*value_log_0)+(modelStruct.modelPar_VDC*d_tN_dX+modelStruct.d_modelPar_VDC_dX*tN))+((1.0-tN)*modelStruct.d_modelPar_VGC_dX+(-d_tN_dX)*modelStruct.modelPar_VGC));
UdcT = (((((-3.0)*instanceStruct.instanceVar_Vt)*value_log_0)+(modelStruct.modelPar_VDC*tN))+((1.0-tN)*modelStruct.modelPar_VGC));
}
instanceStruct.d_instanceVar_dxa_dX = ((instanceStruct.instanceVar_Vt*(-d_UdcT_dX)-(0.05-UdcT)*instanceStruct.d_instanceVar_Vt_dX)/instanceStruct.instanceVar_Vt/instanceStruct.instanceVar_Vt);
instanceStruct.instanceVar_dxa = ((0.05-UdcT)/instanceStruct.instanceVar_Vt);
if ((0.05<UdcT))
{
{
double value_exp_0 = exp(instanceStruct.instanceVar_dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
instanceStruct.d_instanceVar_VDC_T_dX = (d_UdcT_dX+(instanceStruct.instanceVar_Vt*deriv_log_1_d0*(deriv_exp_0_d0*(instanceStruct.d_instanceVar_dxa_dX))+instanceStruct.d_instanceVar_Vt_dX*value_log_1));
instanceStruct.instanceVar_VDC_T = (UdcT+(instanceStruct.instanceVar_Vt*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-instanceStruct.instanceVar_dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
instanceStruct.d_instanceVar_VDC_T_dX = (instanceStruct.instanceVar_Vt*deriv_log_1_d0*(deriv_exp_0_d0*((-instanceStruct.d_instanceVar_dxa_dX)))+instanceStruct.d_instanceVar_Vt_dX*value_log_1);
instanceStruct.instanceVar_VDC_T = (0.05+(instanceStruct.instanceVar_Vt*value_log_1));
}
}
{
double value_log_0 = log(tN);
double  deriv_log_0_d0 = (1.0/tN);
d_UdsT_dX = (((((-3.0)*instanceStruct.instanceVar_Vt)*deriv_log_0_d0*(d_tN_dX)+(-3.0)*instanceStruct.d_instanceVar_Vt_dX*value_log_0)+(modelStruct.modelPar_VDS*d_tN_dX+modelStruct.d_modelPar_VDS_dX*tN))+((1.0-tN)*modelStruct.d_modelPar_VGS_dX+(-d_tN_dX)*modelStruct.modelPar_VGS));
UdsT = (((((-3.0)*instanceStruct.instanceVar_Vt)*value_log_0)+(modelStruct.modelPar_VDS*tN))+((1.0-tN)*modelStruct.modelPar_VGS));
}
instanceStruct.d_instanceVar_dxa_dX = ((instanceStruct.instanceVar_Vt*(-d_UdsT_dX)-(0.05-UdsT)*instanceStruct.d_instanceVar_Vt_dX)/instanceStruct.instanceVar_Vt/instanceStruct.instanceVar_Vt);
instanceStruct.instanceVar_dxa = ((0.05-UdsT)/instanceStruct.instanceVar_Vt);
if ((0.05<UdsT))
{
{
double value_exp_0 = exp(instanceStruct.instanceVar_dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
instanceStruct.d_instanceVar_VDS_T_dX = (d_UdsT_dX+(instanceStruct.instanceVar_Vt*deriv_log_1_d0*(deriv_exp_0_d0*(instanceStruct.d_instanceVar_dxa_dX))+instanceStruct.d_instanceVar_Vt_dX*value_log_1));
instanceStruct.instanceVar_VDS_T = (UdsT+(instanceStruct.instanceVar_Vt*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-instanceStruct.instanceVar_dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
instanceStruct.d_instanceVar_VDS_T_dX = (instanceStruct.instanceVar_Vt*deriv_log_1_d0*(deriv_exp_0_d0*((-instanceStruct.d_instanceVar_dxa_dX)))+instanceStruct.d_instanceVar_Vt_dX*value_log_1);
instanceStruct.instanceVar_VDS_T = (0.05+(instanceStruct.instanceVar_Vt*value_log_1));
}
}
instanceStruct.d_instanceVar_inv_VDE_T_dX = (-instanceStruct.d_instanceVar_VDE_T_dX/instanceStruct.instanceVar_VDE_T/instanceStruct.instanceVar_VDE_T);
instanceStruct.instanceVar_inv_VDE_T = (1.0/instanceStruct.instanceVar_VDE_T);
{
double value_pow_0 = pow((modelStruct.modelPar_VDE*instanceStruct.instanceVar_inv_VDE_T),modelStruct.modelPar_PE);
double  deriv_pow_0_d0 = (((modelStruct.modelPar_VDE*instanceStruct.instanceVar_inv_VDE_T) == 0.0)?0.0:(value_pow_0*modelStruct.modelPar_PE/(modelStruct.modelPar_VDE*instanceStruct.instanceVar_inv_VDE_T)));
double  deriv_pow_0_d1 = ((modelStruct.modelPar_VDE*instanceStruct.instanceVar_inv_VDE_T) == 0.0)?0.0:(log((modelStruct.modelPar_VDE*instanceStruct.instanceVar_inv_VDE_T))*value_pow_0);
d_CJE_T_div_CJE_dX = ((deriv_pow_0_d0*((modelStruct.modelPar_VDE*instanceStruct.d_instanceVar_inv_VDE_T_dX+modelStruct.d_modelPar_VDE_dX*instanceStruct.instanceVar_inv_VDE_T)))+(deriv_pow_0_d1*(modelStruct.d_modelPar_PE_dX)));
CJE_T_div_CJE = value_pow_0;
}
d_CJE_T_dX = (modelStruct.modelPar_CJE*d_CJE_T_div_CJE_dX+modelStruct.d_modelPar_CJE_dX*CJE_T_div_CJE);
CJE_T = (modelStruct.modelPar_CJE*CJE_T_div_CJE);
{
double value_pow_0 = pow((modelStruct.modelPar_VDS/instanceStruct.instanceVar_VDS_T),modelStruct.modelPar_PS);
double  deriv_pow_0_d0 = (((modelStruct.modelPar_VDS/instanceStruct.instanceVar_VDS_T) == 0.0)?0.0:(value_pow_0*modelStruct.modelPar_PS/(modelStruct.modelPar_VDS/instanceStruct.instanceVar_VDS_T)));
double  deriv_pow_0_d1 = ((modelStruct.modelPar_VDS/instanceStruct.instanceVar_VDS_T) == 0.0)?0.0:(log((modelStruct.modelPar_VDS/instanceStruct.instanceVar_VDS_T))*value_pow_0);
d_CJS_T_dX = (modelStruct.modelPar_CJS*((deriv_pow_0_d0*(((instanceStruct.instanceVar_VDS_T*modelStruct.d_modelPar_VDS_dX-modelStruct.modelPar_VDS*instanceStruct.d_instanceVar_VDS_T_dX)/instanceStruct.instanceVar_VDS_T/instanceStruct.instanceVar_VDS_T)))+(deriv_pow_0_d1*(modelStruct.d_modelPar_PS_dX)))+modelStruct.d_modelPar_CJS_dX*value_pow_0);
CJS_T = (modelStruct.modelPar_CJS*value_pow_0);
}
{
double value_pow_0 = pow((modelStruct.modelPar_VDC/instanceStruct.instanceVar_VDC_T),modelStruct.modelPar_PC);
double  deriv_pow_0_d0 = (((modelStruct.modelPar_VDC/instanceStruct.instanceVar_VDC_T) == 0.0)?0.0:(value_pow_0*modelStruct.modelPar_PC/(modelStruct.modelPar_VDC/instanceStruct.instanceVar_VDC_T)));
double  deriv_pow_0_d1 = ((modelStruct.modelPar_VDC/instanceStruct.instanceVar_VDC_T) == 0.0)?0.0:(log((modelStruct.modelPar_VDC/instanceStruct.instanceVar_VDC_T))*value_pow_0);
d_CJCscale_dX = (((1.0-modelStruct.modelPar_XP)*((deriv_pow_0_d0*(((instanceStruct.instanceVar_VDC_T*modelStruct.d_modelPar_VDC_dX-modelStruct.modelPar_VDC*instanceStruct.d_instanceVar_VDC_T_dX)/instanceStruct.instanceVar_VDC_T/instanceStruct.instanceVar_VDC_T)))+(deriv_pow_0_d1*(modelStruct.d_modelPar_PC_dX)))+(-modelStruct.d_modelPar_XP_dX)*value_pow_0)+modelStruct.d_modelPar_XP_dX);
CJCscale = (((1.0-modelStruct.modelPar_XP)*value_pow_0)+modelStruct.modelPar_XP);
}
d_CJCscaleINV_dX = (-d_CJCscale_dX/CJCscale/CJCscale);
CJCscaleINV = (1.0/CJCscale);
d_CJC_T_dX = (modelStruct.modelPar_CJC*d_CJCscale_dX+modelStruct.d_modelPar_CJC_dX*CJCscale);
CJC_T = (modelStruct.modelPar_CJC*CJCscale);
instanceStruct.d_instanceVar_XP_T_dX = (modelStruct.modelPar_XP*d_CJCscaleINV_dX+modelStruct.d_modelPar_XP_dX*CJCscaleINV);
instanceStruct.instanceVar_XP_T = (modelStruct.modelPar_XP*CJCscaleINV);
{
double value_exp_0 = exp((lntN*modelStruct.modelPar_AE));
double  deriv_exp_0_d0 = value_exp_0;
d_RE_T_dX = (modelStruct.modelPar_RE*deriv_exp_0_d0*((lntN*modelStruct.d_modelPar_AE_dX+d_lntN_dX*modelStruct.modelPar_AE))+modelStruct.d_modelPar_RE_dX*value_exp_0);
RE_T = (modelStruct.modelPar_RE*value_exp_0);
}
{
double value_exp_0 = exp((lntN*(modelStruct.modelPar_AB-modelStruct.modelPar_AQBO)));
double  deriv_exp_0_d0 = value_exp_0;
d_RBV_T_dX = (modelStruct.modelPar_RBV*deriv_exp_0_d0*((lntN*(modelStruct.d_modelPar_AB_dX-modelStruct.d_modelPar_AQBO_dX)+d_lntN_dX*(modelStruct.modelPar_AB-modelStruct.modelPar_AQBO)))+modelStruct.d_modelPar_RBV_dX*value_exp_0);
RBV_T = (modelStruct.modelPar_RBV*value_exp_0);
}
{
double value_exp_0 = exp((lntN*modelStruct.modelPar_AEX));
double  deriv_exp_0_d0 = value_exp_0;
d_RBC_T_dX = (modelStruct.modelPar_RBC*deriv_exp_0_d0*((lntN*modelStruct.d_modelPar_AEX_dX+d_lntN_dX*modelStruct.modelPar_AEX))+modelStruct.d_modelPar_RBC_dX*value_exp_0);
RBC_T = (modelStruct.modelPar_RBC*value_exp_0);
}
{
double value_exp_0 = exp((lntN*modelStruct.modelPar_AC));
double  deriv_exp_0_d0 = value_exp_0;
d_RCCxx_T_dX = (modelStruct.modelPar_RCC*deriv_exp_0_d0*((lntN*modelStruct.d_modelPar_AC_dX+d_lntN_dX*modelStruct.modelPar_AC))+modelStruct.d_modelPar_RCC_dX*value_exp_0);
RCCxx_T = (modelStruct.modelPar_RCC*value_exp_0);
}
{
double value_exp_0 = exp((lntN*modelStruct.modelPar_ACBL));
double  deriv_exp_0_d0 = value_exp_0;
d_RCCex_T_dX = (modelStruct.modelPar_RCBLX*deriv_exp_0_d0*((lntN*modelStruct.d_modelPar_ACBL_dX+d_lntN_dX*modelStruct.modelPar_ACBL))+modelStruct.d_modelPar_RCBLX_dX*value_exp_0);
RCCex_T = (modelStruct.modelPar_RCBLX*value_exp_0);
}
{
double value_exp_0 = exp((lntN*modelStruct.modelPar_ACBL));
double  deriv_exp_0_d0 = value_exp_0;
d_RCCin_T_dX = (modelStruct.modelPar_RCBLI*deriv_exp_0_d0*((lntN*modelStruct.d_modelPar_ACBL_dX+d_lntN_dX*modelStruct.modelPar_ACBL))+modelStruct.d_modelPar_RCBLI_dX*value_exp_0);
RCCin_T = (modelStruct.modelPar_RCBLI*value_exp_0);
}
{
double value_exp_0 = exp((lntN*modelStruct.modelPar_AEPI));
double  deriv_exp_0_d0 = value_exp_0;
d_RCV_T_dX = (modelStruct.modelPar_RCV*deriv_exp_0_d0*((lntN*modelStruct.d_modelPar_AEPI_dX+d_lntN_dX*modelStruct.modelPar_AEPI))+modelStruct.d_modelPar_RCV_dX*value_exp_0);
RCV_T = (modelStruct.modelPar_RCV*value_exp_0);
}
{
double value_exp_0 = exp((lntN*((modelStruct.modelPar_AE-modelStruct.modelPar_AB)-modelStruct.modelPar_AQBO)));
double value_exp_1 = exp(((-modelStruct.modelPar_DVGBF)*VdtINV));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_exp_1_d0 = value_exp_1;
instanceStruct.d_instanceVar_BF_T_dX = ((modelStruct.modelPar_BF*value_exp_0)*deriv_exp_1_d0*(((-modelStruct.modelPar_DVGBF)*d_VdtINV_dX+(-modelStruct.d_modelPar_DVGBF_dX)*VdtINV))+(modelStruct.modelPar_BF*deriv_exp_0_d0*((lntN*((modelStruct.d_modelPar_AE_dX-modelStruct.d_modelPar_AB_dX)-modelStruct.d_modelPar_AQBO_dX)+d_lntN_dX*((modelStruct.modelPar_AE-modelStruct.modelPar_AB)-modelStruct.modelPar_AQBO)))+modelStruct.d_modelPar_BF_dX*value_exp_0)*value_exp_1);
instanceStruct.instanceVar_BF_T = ((modelStruct.modelPar_BF*value_exp_0)*value_exp_1);
}
{
double value_exp_0 = exp(((-modelStruct.modelPar_DVGBR)*VdtINV));
double  deriv_exp_0_d0 = value_exp_0;
instanceStruct.d_instanceVar_BRI_T_dX = (modelStruct.modelPar_BRI*deriv_exp_0_d0*(((-modelStruct.modelPar_DVGBR)*d_VdtINV_dX+(-modelStruct.d_modelPar_DVGBR_dX)*VdtINV))+modelStruct.d_modelPar_BRI_dX*value_exp_0);
instanceStruct.instanceVar_BRI_T = (modelStruct.modelPar_BRI*value_exp_0);
}
{
double value_exp_0 = exp((lntN*(((4.0-modelStruct.modelPar_AB)-modelStruct.modelPar_AQBO)+modelStruct.modelPar_DAIS)));
double value_exp_1 = exp(((-modelStruct.modelPar_VGB)*VdtINV));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_exp_1_d0 = value_exp_1;
instanceStruct.d_instanceVar_IS_T_dX = ((modelStruct.modelPar_IS*value_exp_0)*deriv_exp_1_d0*(((-modelStruct.modelPar_VGB)*d_VdtINV_dX+(-modelStruct.d_modelPar_VGB_dX)*VdtINV))+(modelStruct.modelPar_IS*deriv_exp_0_d0*((lntN*(((-modelStruct.d_modelPar_AB_dX)-modelStruct.d_modelPar_AQBO_dX)+modelStruct.d_modelPar_DAIS_dX)+d_lntN_dX*(((4.0-modelStruct.modelPar_AB)-modelStruct.modelPar_AQBO)+modelStruct.modelPar_DAIS)))+modelStruct.d_modelPar_IS_dX*value_exp_0)*value_exp_1);
instanceStruct.instanceVar_IS_T = ((modelStruct.modelPar_IS*value_exp_0)*value_exp_1);
}
{
double value_exp_0 = exp((lntN*(1.0-modelStruct.modelPar_AB)));
double  deriv_exp_0_d0 = value_exp_0;
d_IK_T_dX = (modelStruct.modelPar_IK*deriv_exp_0_d0*((lntN*(-modelStruct.d_modelPar_AB_dX)+d_lntN_dX*(1.0-modelStruct.modelPar_AB)))+modelStruct.d_modelPar_IK_dX*value_exp_0);
IK_T = (modelStruct.modelPar_IK*value_exp_0);
}
{
double value_exp_0 = exp((lntN*(6.0-(2.0*modelStruct.modelPar_MLF))));
double value_exp_1 = exp((((-modelStruct.modelPar_VGJ)*VdtINV)/modelStruct.modelPar_MLF));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_exp_1_d0 = value_exp_1;
d_IBF_T_dX = ((modelStruct.modelPar_IBF*value_exp_0)*deriv_exp_1_d0*(((modelStruct.modelPar_MLF*((-modelStruct.modelPar_VGJ)*d_VdtINV_dX+(-modelStruct.d_modelPar_VGJ_dX)*VdtINV)-((-modelStruct.modelPar_VGJ)*VdtINV)*modelStruct.d_modelPar_MLF_dX)/modelStruct.modelPar_MLF/modelStruct.modelPar_MLF))+(modelStruct.modelPar_IBF*deriv_exp_0_d0*((lntN*(-2.0*modelStruct.d_modelPar_MLF_dX)+d_lntN_dX*(6.0-(2.0*modelStruct.modelPar_MLF))))+modelStruct.d_modelPar_IBF_dX*value_exp_0)*value_exp_1);
IBF_T = ((modelStruct.modelPar_IBF*value_exp_0)*value_exp_1);
}
{
double value_exp_0 = exp((((-modelStruct.modelPar_VGC)*VdtINV)/2.0));
double  deriv_exp_0_d0 = value_exp_0;
d_IBR_T_dX = (((modelStruct.modelPar_IBR*tN)*tN)*deriv_exp_0_d0*((((-modelStruct.modelPar_VGC)*d_VdtINV_dX+(-modelStruct.d_modelPar_VGC_dX)*VdtINV)/2.0))+((modelStruct.modelPar_IBR*tN)*d_tN_dX+(modelStruct.modelPar_IBR*d_tN_dX+modelStruct.d_modelPar_IBR_dX*tN)*tN)*value_exp_0);
IBR_T = (((modelStruct.modelPar_IBR*tN)*tN)*value_exp_0);
}
{
double value_pow_0 = pow((instanceStruct.instanceVar_VGZEB_T*inv_VGZEB_Tr),(-0.5));
double  deriv_pow_0_d0 = (((instanceStruct.instanceVar_VGZEB_T*inv_VGZEB_Tr) == 0.0)?0.0:(value_pow_0*(-0.5)/(instanceStruct.instanceVar_VGZEB_T*inv_VGZEB_Tr)));
d_tempx_dX = (deriv_pow_0_d0*((instanceStruct.instanceVar_VGZEB_T*d_inv_VGZEB_Tr_dX+instanceStruct.d_instanceVar_VGZEB_T_dX*inv_VGZEB_Tr)));
tempx = value_pow_0;
}
d_y_dX = (-d_CJE_T_div_CJE_dX/CJE_T_div_CJE/CJE_T_div_CJE);
y = (1.0/CJE_T_div_CJE);
instanceStruct.d_instanceVar_nZEB_T_dX = ((((((((modelStruct.modelPar_NZEB*instanceStruct.instanceVar_VGZEB_T)*instanceStruct.instanceVar_VGZEB_T)*tempx)*y)*modelStruct.modelPar_VDE)*instanceStruct.instanceVar_inv_VDE_T)*inv_VGZEB_Tr)*d_inv_VGZEB_Tr_dX+(((((((modelStruct.modelPar_NZEB*instanceStruct.instanceVar_VGZEB_T)*instanceStruct.instanceVar_VGZEB_T)*tempx)*y)*modelStruct.modelPar_VDE)*instanceStruct.instanceVar_inv_VDE_T)*d_inv_VGZEB_Tr_dX+((((((modelStruct.modelPar_NZEB*instanceStruct.instanceVar_VGZEB_T)*instanceStruct.instanceVar_VGZEB_T)*tempx)*y)*modelStruct.modelPar_VDE)*instanceStruct.d_instanceVar_inv_VDE_T_dX+(((((modelStruct.modelPar_NZEB*instanceStruct.instanceVar_VGZEB_T)*instanceStruct.instanceVar_VGZEB_T)*tempx)*y)*modelStruct.d_modelPar_VDE_dX+((((modelStruct.modelPar_NZEB*instanceStruct.instanceVar_VGZEB_T)*instanceStruct.instanceVar_VGZEB_T)*tempx)*d_y_dX+(((modelStruct.modelPar_NZEB*instanceStruct.instanceVar_VGZEB_T)*instanceStruct.instanceVar_VGZEB_T)*d_tempx_dX+((modelStruct.modelPar_NZEB*instanceStruct.instanceVar_VGZEB_T)*instanceStruct.d_instanceVar_VGZEB_T_dX+(modelStruct.modelPar_NZEB*instanceStruct.d_instanceVar_VGZEB_T_dX+modelStruct.d_modelPar_NZEB_dX*instanceStruct.instanceVar_VGZEB_T)*instanceStruct.instanceVar_VGZEB_T)*tempx)*y)*modelStruct.modelPar_VDE)*instanceStruct.instanceVar_inv_VDE_T)*inv_VGZEB_Tr)*inv_VGZEB_Tr);
instanceStruct.instanceVar_nZEB_T = ((((((((modelStruct.modelPar_NZEB*instanceStruct.instanceVar_VGZEB_T)*instanceStruct.instanceVar_VGZEB_T)*tempx)*y)*modelStruct.modelPar_VDE)*instanceStruct.instanceVar_inv_VDE_T)*inv_VGZEB_Tr)*inv_VGZEB_Tr);
{
double value_exp_0 = exp((modelStruct.modelPar_NZEB-instanceStruct.instanceVar_nZEB_T));
double  deriv_exp_0_d0 = value_exp_0;
d_IZEB_T_dX = (((((((modelStruct.modelPar_IZEB*tempx)*instanceStruct.instanceVar_VDE_T)*instanceStruct.instanceVar_VDE_T)*inv_VDE)*inv_VDE)*CJE_T_div_CJE)*deriv_exp_0_d0*((modelStruct.d_modelPar_NZEB_dX-instanceStruct.d_instanceVar_nZEB_T_dX))+((((((modelStruct.modelPar_IZEB*tempx)*instanceStruct.instanceVar_VDE_T)*instanceStruct.instanceVar_VDE_T)*inv_VDE)*inv_VDE)*d_CJE_T_div_CJE_dX+(((((modelStruct.modelPar_IZEB*tempx)*instanceStruct.instanceVar_VDE_T)*instanceStruct.instanceVar_VDE_T)*inv_VDE)*d_inv_VDE_dX+((((modelStruct.modelPar_IZEB*tempx)*instanceStruct.instanceVar_VDE_T)*instanceStruct.instanceVar_VDE_T)*d_inv_VDE_dX+(((modelStruct.modelPar_IZEB*tempx)*instanceStruct.instanceVar_VDE_T)*instanceStruct.d_instanceVar_VDE_T_dX+((modelStruct.modelPar_IZEB*tempx)*instanceStruct.d_instanceVar_VDE_T_dX+(modelStruct.modelPar_IZEB*d_tempx_dX+modelStruct.d_modelPar_IZEB_dX*tempx)*instanceStruct.instanceVar_VDE_T)*instanceStruct.instanceVar_VDE_T)*inv_VDE)*inv_VDE)*CJE_T_div_CJE)*value_exp_0);
IZEB_T = (((((((modelStruct.modelPar_IZEB*tempx)*instanceStruct.instanceVar_VDE_T)*instanceStruct.instanceVar_VDE_T)*inv_VDE)*inv_VDE)*CJE_T_div_CJE)*value_exp_0);
}
{
double value_exp_0 = exp((lntN*modelStruct.modelPar_AQBO));
double  deriv_exp_0_d0 = value_exp_0;
d_tempx_dX = deriv_exp_0_d0*((lntN*modelStruct.d_modelPar_AQBO_dX+d_lntN_dX*modelStruct.modelPar_AQBO));
tempx = value_exp_0;
}
instanceStruct.d_instanceVar_VEF_T_dX = ((modelStruct.modelPar_VEF*tempx)*d_CJCscaleINV_dX+(modelStruct.modelPar_VEF*d_tempx_dX+modelStruct.d_modelPar_VEF_dX*tempx)*CJCscaleINV);
instanceStruct.instanceVar_VEF_T = ((modelStruct.modelPar_VEF*tempx)*CJCscaleINV);
instanceStruct.d_instanceVar_VER_T_dX = ((modelStruct.modelPar_VER*tempx)*d_y_dX+(modelStruct.modelPar_VER*d_tempx_dX+modelStruct.d_modelPar_VER_dX*tempx)*y);
instanceStruct.instanceVar_VER_T = ((modelStruct.modelPar_VER*tempx)*y);
{
double value_exp_0 = exp((lntN*(4.0-modelStruct.modelPar_AS)));
double value_exp_1 = exp(((-modelStruct.modelPar_VGS)*VdtINV));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_exp_1_d0 = value_exp_1;
d_ISS_T_dX = ((modelStruct.modelPar_ISS*value_exp_0)*deriv_exp_1_d0*(((-modelStruct.modelPar_VGS)*d_VdtINV_dX+(-modelStruct.d_modelPar_VGS_dX)*VdtINV))+(modelStruct.modelPar_ISS*deriv_exp_0_d0*((lntN*(-modelStruct.d_modelPar_AS_dX)+d_lntN_dX*(4.0-modelStruct.modelPar_AS)))+modelStruct.d_modelPar_ISS_dX*value_exp_0)*value_exp_1);
ISS_T = ((modelStruct.modelPar_ISS*value_exp_0)*value_exp_1);
}
{
double value_exp_0 = exp((lntN*(3.5-(0.5*modelStruct.modelPar_ASUB))));
double value_exp_1 = exp(((-modelStruct.modelPar_VGS)*VdtINV));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_exp_1_d0 = value_exp_1;
d_ICSS_T_dX = ((modelStruct.modelPar_ICSS*value_exp_0)*deriv_exp_1_d0*(((-modelStruct.modelPar_VGS)*d_VdtINV_dX+(-modelStruct.d_modelPar_VGS_dX)*VdtINV))+(modelStruct.modelPar_ICSS*deriv_exp_0_d0*((lntN*(-0.5*modelStruct.d_modelPar_ASUB_dX)+d_lntN_dX*(3.5-(0.5*modelStruct.modelPar_ASUB))))+modelStruct.d_modelPar_ICSS_dX*value_exp_0)*value_exp_1);
ICSS_T = ((modelStruct.modelPar_ICSS*value_exp_0)*value_exp_1);
}
if ((ISS_T>0.0))
{
{
double value_exp_0 = exp((lntN*(1.0-modelStruct.modelPar_AS)));
double  deriv_exp_0_d0 = value_exp_0;
instanceStruct.d_instanceVar_IKS_T_dX = (((modelStruct.modelPar_IKS*value_exp_0)*(instanceStruct.instanceVar_IS_T/modelStruct.modelPar_IS))*((ISS_T*modelStruct.d_modelPar_ISS_dX-modelStruct.modelPar_ISS*d_ISS_T_dX)/ISS_T/ISS_T)+((modelStruct.modelPar_IKS*value_exp_0)*((modelStruct.modelPar_IS*instanceStruct.d_instanceVar_IS_T_dX-instanceStruct.instanceVar_IS_T*modelStruct.d_modelPar_IS_dX)/modelStruct.modelPar_IS/modelStruct.modelPar_IS)+(modelStruct.modelPar_IKS*deriv_exp_0_d0*((lntN*(-modelStruct.d_modelPar_AS_dX)+d_lntN_dX*(1.0-modelStruct.modelPar_AS)))+modelStruct.d_modelPar_IKS_dX*value_exp_0)*(instanceStruct.instanceVar_IS_T/modelStruct.modelPar_IS))*(modelStruct.modelPar_ISS/ISS_T));
instanceStruct.instanceVar_IKS_T = (((modelStruct.modelPar_IKS*value_exp_0)*(instanceStruct.instanceVar_IS_T/modelStruct.modelPar_IS))*(modelStruct.modelPar_ISS/ISS_T));
}
}
else
{
{
double value_exp_0 = exp((lntN*(1.0-modelStruct.modelPar_AS)));
double  deriv_exp_0_d0 = value_exp_0;
instanceStruct.d_instanceVar_IKS_T_dX = (modelStruct.modelPar_IKS*deriv_exp_0_d0*((lntN*(-modelStruct.d_modelPar_AS_dX)+d_lntN_dX*(1.0-modelStruct.modelPar_AS)))+modelStruct.d_modelPar_IKS_dX*value_exp_0);
instanceStruct.instanceVar_IKS_T = (modelStruct.modelPar_IKS*value_exp_0);
}
}
{
double value_exp_0 = exp((lntN*(modelStruct.modelPar_AB-2.0)));
double value_exp_1 = exp(((-modelStruct.modelPar_DVGTE)*VdtINV));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_exp_1_d0 = value_exp_1;
instanceStruct.d_instanceVar_TAUE_T_dX = ((modelStruct.modelPar_TAUE*value_exp_0)*deriv_exp_1_d0*(((-modelStruct.modelPar_DVGTE)*d_VdtINV_dX+(-modelStruct.d_modelPar_DVGTE_dX)*VdtINV))+(modelStruct.modelPar_TAUE*deriv_exp_0_d0*((lntN*modelStruct.d_modelPar_AB_dX+d_lntN_dX*(modelStruct.modelPar_AB-2.0)))+modelStruct.d_modelPar_TAUE_dX*value_exp_0)*value_exp_1);
instanceStruct.instanceVar_TAUE_T = ((modelStruct.modelPar_TAUE*value_exp_0)*value_exp_1);
}
{
double value_exp_0 = exp((lntN*((modelStruct.modelPar_AQBO+modelStruct.modelPar_AB)-1.0)));
double  deriv_exp_0_d0 = value_exp_0;
instanceStruct.d_instanceVar_TAUB_T_dX = (modelStruct.modelPar_TAUB*deriv_exp_0_d0*((lntN*(modelStruct.d_modelPar_AQBO_dX+modelStruct.d_modelPar_AB_dX)+d_lntN_dX*((modelStruct.modelPar_AQBO+modelStruct.modelPar_AB)-1.0)))+modelStruct.d_modelPar_TAUB_dX*value_exp_0);
instanceStruct.instanceVar_TAUB_T = (modelStruct.modelPar_TAUB*value_exp_0);
}
{
double value_exp_0 = exp((lntN*(modelStruct.modelPar_AEPI-1.0)));
double  deriv_exp_0_d0 = value_exp_0;
instanceStruct.d_instanceVar_TEPI_T_dX = (modelStruct.modelPar_TEPI*deriv_exp_0_d0*((lntN*modelStruct.d_modelPar_AEPI_dX+d_lntN_dX*(modelStruct.modelPar_AEPI-1.0)))+modelStruct.d_modelPar_TEPI_dX*value_exp_0);
instanceStruct.instanceVar_TEPI_T = (modelStruct.modelPar_TEPI*value_exp_0);
}
instanceStruct.d_instanceVar_TAUR_T_dX = (((modelStruct.modelPar_TAUB+modelStruct.modelPar_TEPI)*(modelStruct.modelPar_TAUR*(instanceStruct.d_instanceVar_TAUB_T_dX+instanceStruct.d_instanceVar_TEPI_T_dX)+modelStruct.d_modelPar_TAUR_dX*(instanceStruct.instanceVar_TAUB_T+instanceStruct.instanceVar_TEPI_T))-(modelStruct.modelPar_TAUR*(instanceStruct.instanceVar_TAUB_T+instanceStruct.instanceVar_TEPI_T))*(modelStruct.d_modelPar_TAUB_dX+modelStruct.d_modelPar_TEPI_dX))/(modelStruct.modelPar_TAUB+modelStruct.modelPar_TEPI)/(modelStruct.modelPar_TAUB+modelStruct.modelPar_TEPI));
instanceStruct.instanceVar_TAUR_T = ((modelStruct.modelPar_TAUR*(instanceStruct.instanceVar_TAUB_T+instanceStruct.instanceVar_TEPI_T))/(modelStruct.modelPar_TAUB+modelStruct.modelPar_TEPI));
d_Tk300_dX = instanceStruct.d_instanceVar_Tk_dX;
Tk300 = (instanceStruct.instanceVar_Tk-300.0);
if ((instanceStruct.instanceVar_Tk<525.0))
{
instanceStruct.d_instanceVar_BnT_dX = Bn*(7.2e-4*d_Tk300_dX-((1.6e-6*Tk300)*d_Tk300_dX+1.6e-6*d_Tk300_dX*Tk300));
instanceStruct.instanceVar_BnT = (Bn*((1.0+(7.2e-4*Tk300))-((1.6e-6*Tk300)*Tk300)));
}
else
{
instanceStruct.d_instanceVar_BnT_dX = 0.0;
instanceStruct.instanceVar_BnT = (Bn*1.081);
}
{
double value_exp_0 = exp((lntN*modelStruct.modelPar_AQBO));
double  deriv_exp_0_d0 = value_exp_0;
instanceStruct.d_instanceVar_DEG_T_dX = (modelStruct.modelPar_DEG*deriv_exp_0_d0*((lntN*modelStruct.d_modelPar_AQBO_dX+d_lntN_dX*modelStruct.modelPar_AQBO))+modelStruct.d_modelPar_DEG_dX*value_exp_0);
instanceStruct.instanceVar_DEG_T = (modelStruct.modelPar_DEG*value_exp_0);
}
instanceStruct.d_instanceVar_IS_TM_dX = (instanceStruct.instanceVar_IS_T*instanceStruct.d_instancePar_MULT_dX+instanceStruct.d_instanceVar_IS_T_dX*instanceStruct.instancePar_MULT);
instanceStruct.instanceVar_IS_TM = (instanceStruct.instanceVar_IS_T*instanceStruct.instancePar_MULT);
instanceStruct.d_instanceVar_IK_TM_dX = (IK_T*instanceStruct.d_instancePar_MULT_dX+d_IK_T_dX*instanceStruct.instancePar_MULT);
instanceStruct.instanceVar_IK_TM = (IK_T*instanceStruct.instancePar_MULT);
instanceStruct.d_instanceVar_IBF_TM_dX = (IBF_T*instanceStruct.d_instancePar_MULT_dX+d_IBF_T_dX*instanceStruct.instancePar_MULT);
instanceStruct.instanceVar_IBF_TM = (IBF_T*instanceStruct.instancePar_MULT);
instanceStruct.d_instanceVar_IBR_TM_dX = (IBR_T*instanceStruct.d_instancePar_MULT_dX+d_IBR_T_dX*instanceStruct.instancePar_MULT);
instanceStruct.instanceVar_IBR_TM = (IBR_T*instanceStruct.instancePar_MULT);
instanceStruct.d_instanceVar_IZEB_TM_dX = (IZEB_T*instanceStruct.d_instancePar_MULT_dX+d_IZEB_T_dX*instanceStruct.instancePar_MULT);
instanceStruct.instanceVar_IZEB_TM = (IZEB_T*instanceStruct.instancePar_MULT);
instanceStruct.d_instanceVar_IHC_M_dX = (modelStruct.modelPar_IHC*instanceStruct.d_instancePar_MULT_dX+modelStruct.d_modelPar_IHC_dX*instanceStruct.instancePar_MULT);
instanceStruct.instanceVar_IHC_M = (modelStruct.modelPar_IHC*instanceStruct.instancePar_MULT);
instanceStruct.d_instanceVar_ISS_TM_dX = (ISS_T*instanceStruct.d_instancePar_MULT_dX+d_ISS_T_dX*instanceStruct.instancePar_MULT);
instanceStruct.instanceVar_ISS_TM = (ISS_T*instanceStruct.instancePar_MULT);
instanceStruct.d_instanceVar_ICSS_TM_dX = (ICSS_T*instanceStruct.d_instancePar_MULT_dX+d_ICSS_T_dX*instanceStruct.instancePar_MULT);
instanceStruct.instanceVar_ICSS_TM = (ICSS_T*instanceStruct.instancePar_MULT);
instanceStruct.d_instanceVar_IKS_TM_dX = (instanceStruct.instanceVar_IKS_T*instanceStruct.d_instancePar_MULT_dX+instanceStruct.d_instanceVar_IKS_T_dX*instanceStruct.instancePar_MULT);
instanceStruct.instanceVar_IKS_TM = (instanceStruct.instanceVar_IKS_T*instanceStruct.instancePar_MULT);
instanceStruct.d_instanceVar_CJE_TM_dX = (CJE_T*instanceStruct.d_instancePar_MULT_dX+d_CJE_T_dX*instanceStruct.instancePar_MULT);
instanceStruct.instanceVar_CJE_TM = (CJE_T*instanceStruct.instancePar_MULT);
instanceStruct.d_instanceVar_CJC_TM_dX = (CJC_T*instanceStruct.d_instancePar_MULT_dX+d_CJC_T_dX*instanceStruct.instancePar_MULT);
instanceStruct.instanceVar_CJC_TM = (CJC_T*instanceStruct.instancePar_MULT);
instanceStruct.d_instanceVar_CJS_TM_dX = (CJS_T*instanceStruct.d_instancePar_MULT_dX+d_CJS_T_dX*instanceStruct.instancePar_MULT);
instanceStruct.instanceVar_CJS_TM = (CJS_T*instanceStruct.instancePar_MULT);
instanceStruct.d_instanceVar_RE_TM_dX = (RE_T*d_invMULT_dX+d_RE_T_dX*invMULT);
instanceStruct.instanceVar_RE_TM = (RE_T*invMULT);
instanceStruct.d_instanceVar_RBC_TM_dX = (RBC_T*d_invMULT_dX+d_RBC_T_dX*invMULT);
instanceStruct.instanceVar_RBC_TM = (RBC_T*invMULT);
instanceStruct.d_instanceVar_RBV_TM_dX = (RBV_T*d_invMULT_dX+d_RBV_T_dX*invMULT);
instanceStruct.instanceVar_RBV_TM = (RBV_T*invMULT);
instanceStruct.d_instanceVar_RCCxx_TM_dX = (RCCxx_T*d_invMULT_dX+d_RCCxx_T_dX*invMULT);
instanceStruct.instanceVar_RCCxx_TM = (RCCxx_T*invMULT);
instanceStruct.d_instanceVar_RCCex_TM_dX = (RCCex_T*d_invMULT_dX+d_RCCex_T_dX*invMULT);
instanceStruct.instanceVar_RCCex_TM = (RCCex_T*invMULT);
instanceStruct.d_instanceVar_RCCin_TM_dX = (RCCin_T*d_invMULT_dX+d_RCCin_T_dX*invMULT);
instanceStruct.instanceVar_RCCin_TM = (RCCin_T*invMULT);
instanceStruct.d_instanceVar_RCV_TM_dX = (RCV_T*d_invMULT_dX+d_RCV_T_dX*invMULT);
instanceStruct.instanceVar_RCV_TM = (RCV_T*invMULT);
if ((modelStruct.modelPar_RCC>0.0))
{
instanceStruct.d_instanceVar_GCCxx_TM_dX = (-instanceStruct.d_instanceVar_RCCxx_TM_dX/instanceStruct.instanceVar_RCCxx_TM/instanceStruct.instanceVar_RCCxx_TM);
instanceStruct.instanceVar_GCCxx_TM = (1.0/instanceStruct.instanceVar_RCCxx_TM);
}
else
{
instanceStruct.d_instanceVar_GCCxx_TM_dX = 0.0;
instanceStruct.instanceVar_GCCxx_TM = 0;
}
if ((modelStruct.modelPar_RCBLX>0.0))
{
instanceStruct.d_instanceVar_GCCex_TM_dX = (-instanceStruct.d_instanceVar_RCCex_TM_dX/instanceStruct.instanceVar_RCCex_TM/instanceStruct.instanceVar_RCCex_TM);
instanceStruct.instanceVar_GCCex_TM = (1.0/instanceStruct.instanceVar_RCCex_TM);
}
else
{
instanceStruct.d_instanceVar_GCCex_TM_dX = 0.0;
instanceStruct.instanceVar_GCCex_TM = 0;
}
if ((modelStruct.modelPar_RCBLI>0.0))
{
instanceStruct.d_instanceVar_GCCin_TM_dX = (-instanceStruct.d_instanceVar_RCCin_TM_dX/instanceStruct.instanceVar_RCCin_TM/instanceStruct.instanceVar_RCCin_TM);
instanceStruct.instanceVar_GCCin_TM = (1.0/instanceStruct.instanceVar_RCCin_TM);
}
else
{
instanceStruct.d_instanceVar_GCCin_TM_dX = 0.0;
instanceStruct.instanceVar_GCCin_TM = 0;
}
}
// End block initial_instance
}



//-----------------------------------------------------------------------------
// Function      : evaluateInitialModel
// Purpose       : Evaluate the statements in the initial_model block
// Special Notes : specific for sensitivity use
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
void evaluateInitialModel(
modelSensStruct & modelStruct,
 double admsTemperature, double ADMSgmin_arg, const Instance & theInstance)
{
}



//-----------------------------------------------------------------------------
// Function      : evaluateModelEquations
// Purpose       : Evaluate the main module block.  Similar to
//                 updateIntermediateVars, but takes all instance and model
//                 parameters and variables as arguments instead of using
//                 the ones stored in the objects.
// Special Notes : specific for sensitivity use
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
void evaluateModelEquations(
std::vector <double> & probeVars,
// probe constants
const int admsProbeID_V_s_GND,
const int admsProbeID_V_b_GND,
const int admsProbeID_V_b2_GND,
const int admsProbeID_V_b1_GND,
const int admsProbeID_V_e_GND,
const int admsProbeID_V_c1_GND,
const int admsProbeID_V_c2_GND,
const int admsProbeID_V_e1_GND,
const int admsProbeID_V_s_c,
const int admsProbeID_V_b_s,
const int admsProbeID_V_s_e,
const int admsProbeID_V_c_e,
const int admsProbeID_V_noi_GND,
const int admsProbeID_V_c3_c1,
const int admsProbeID_V_c3_c4,
const int admsProbeID_V_c4_c1,
const int admsProbeID_V_b_c,
const int admsProbeID_V_b_e,
const int admsProbeID_V_b_b1,
const int admsProbeID_V_e_e1,
const int admsProbeID_V_c1_c2,
const int admsProbeID_V_s_c1,
const int admsProbeID_V_b1_b2,
const int admsProbeID_V_b1_e1,
const int admsProbeID_V_b2_e1,
const int admsProbeID_V_b2_c2,
const int admsProbeID_V_b2_c1,
// node constants
const int admsNodeID_c,
const int admsNodeID_b,
const int admsNodeID_e,
const int admsNodeID_s,
const int admsNodeID_e1,
const int admsNodeID_b1,
const int admsNodeID_b2,
const int admsNodeID_c1,
const int admsNodeID_c2,
const int admsNodeID_c3,
const int admsNodeID_c4,
const int admsNodeID_noi,
instanceSensStruct & instanceStruct,
modelSensStruct & modelStruct,
// basic variables
 double admsTemperature, double adms_vt_nom, double ADMSgmin_arg, std::vector <double> & d_staticContributions_dX, std::vector <double> & d_dynamicContributions_dX, const Instance & theInstance)
{

  // Local variables
  double dydx=0.0;
double d_dydx_dX=0.0;
  double dydz=0.0;
double d_dydz_dX=0.0;
  double gpi=0.0;
double d_gpi_dX=0.0;
  double gammax=0.0;
double d_gammax_dX=0.0;
  double gammay=0.0;
double d_gammay_dX=0.0;
  double gammaz=0.0;
double d_gammaz_dX=0.0;
  double gbfx=0.0;
double d_gbfx_dX=0.0;
  double gbfy=0.0;
double d_gbfy_dX=0.0;
  double gbfz=0.0;
double d_gbfz_dX=0.0;
  double alpha_ft=0.0;
double d_alpha_ft_dX=0.0;
  double rx=0.0;
double d_rx_dX=0.0;
  double rz=0.0;
double d_rz_dX=0.0;
  double ry=0.0;
double d_ry_dX=0.0;
  double rb1b2=0.0;
double d_rb1b2_dX=0.0;
  double rex=0.0;
double d_rex_dX=0.0;
  double xrex=0.0;
double d_xrex_dX=0.0;
  double taut=0.0;
double d_taut_dX=0.0;
  double common=0.0;
double d_common_dX=0.0;
  double powerREC=0.0;
double d_powerREC_dX=0.0;
  double powerRBC=0.0;
double d_powerRBC_dX=0.0;
  double powerRCCxx=0.0;
double d_powerRCCxx_dX=0.0;
  double powerRCCex=0.0;
double d_powerRCCex_dX=0.0;
  double powerRCCin=0.0;
double d_powerRCCin_dX=0.0;
  double powerRBV=0.0;
double d_powerRBV_dX=0.0;
  double In_N=0.0;
double d_In_N_dX=0.0;
  double powerCCS=0.0;
double d_powerCCS_dX=0.0;
  double Gem_N=0.0;
double d_Gem_N_dX=0.0;
  double powerIIS=0.0;
double d_powerIIS_dX=0.0;
  double Taub_N=0.0;
double d_Taub_N_dX=0.0;
  double taun=0.0;
double d_taun_dX=0.0;
  double powerFBCS=0.0;
double d_powerFBCS_dX=0.0;
  double powerFBC1fB1=0.0;
double d_powerFBC1fB1_dX=0.0;
  double exponentFBC1fB2=0.0;
double d_exponentFBC1fB2_dX=0.0;
  double powerFBC1fB2=0.0;
double d_powerFBC1fB2_dX=0.0;
  double powerEBSCS=0.0;
double d_powerEBSCS_dX=0.0;
  double powerEBSC1f=0.0;
double d_powerEBSC1f_dX=0.0;
  double powerRBCS=0.0;
double d_powerRBCS_dX=0.0;
  double powerRBC1f=0.0;
double d_powerRBC1f_dX=0.0;
  double powerExCS=0.0;
double d_powerExCS_dX=0.0;
  double powerExC1f=0.0;
double d_powerExC1f_dX=0.0;
  double powerExCSMOD=0.0;
double d_powerExCSMOD_dX=0.0;
  double powerExC1fMOD=0.0;
double d_powerExC1fMOD_dX=0.0;
  double powerSubsCS_B1S=0.0;
double d_powerSubsCS_B1S_dX=0.0;
  double powerSubsCS_BS=0.0;
double d_powerSubsCS_BS_dX=0.0;
  double Vb2c1=0.0;
double d_Vb2c1_dX=0.0;
  double Vb2c2=0.0;
double d_Vb2c2_dX=0.0;
  double Vb2e1=0.0;
double d_Vb2e1_dX=0.0;
  double Vb1e1=0.0;
double d_Vb1e1_dX=0.0;
  double Vb1b2=0.0;
double d_Vb1b2_dX=0.0;
  double Vsc1=0.0;
double d_Vsc1_dX=0.0;
  double Vc1c2=0.0;
double d_Vc1c2_dX=0.0;
  double Vee1=0.0;
double d_Vee1_dX=0.0;
  double Vbb1=0.0;
double d_Vbb1_dX=0.0;
  double Vbe=0.0;
double d_Vbe_dX=0.0;
  double Vbc=0.0;
double d_Vbc_dX=0.0;
  double Vc4c1=0.0;
double d_Vc4c1_dX=0.0;
  double Vc3c4=0.0;
double d_Vc3c4_dX=0.0;
  double Vb1c4=0.0;
double d_Vb1c4_dX=0.0;
  double Vcc3=0.0;
double d_Vcc3_dX=0.0;
  double Vbc3=0.0;
double d_Vbc3_dX=0.0;
  double Vsc4=0.0;
double d_Vsc4_dX=0.0;
  double Vsc3=0.0;
double d_Vsc3_dX=0.0;
  double expl=0.0;
  double eVb2c2=0.0;
double d_eVb2c2_dX=0.0;
  double eVb2e1=0.0;
double d_eVb2e1_dX=0.0;
  double eVb1e1=0.0;
double d_eVb1e1_dX=0.0;
  double eVb1c4=0.0;
double d_eVb1c4_dX=0.0;
  double eVb1b2=0.0;
double d_eVb1b2_dX=0.0;
  double eVbc3=0.0;
double d_eVbc3_dX=0.0;
  double eVsc1=0.0;
double d_eVsc1_dX=0.0;
  double eVsc3=0.0;
double d_eVsc3_dX=0.0;
  double eVsc4=0.0;
double d_eVsc4_dX=0.0;
  double eVbc3VDC=0.0;
double d_eVbc3VDC_dX=0.0;
  double eVb1c4VDC=0.0;
double d_eVb1c4VDC_dX=0.0;
  double eVb2c2VDC=0.0;
double d_eVb2c2VDC_dX=0.0;
  double eVb2c1VDC=0.0;
double d_eVb2c1VDC_dX=0.0;
  double K0=0.0;
double d_K0_dX=0.0;
  double Kw=0.0;
double d_Kw_dX=0.0;
  double pW=0.0;
double d_pW_dX=0.0;
  double Ec=0.0;
double d_Ec_dX=0.0;
  double Ic1c2=0.0;
double d_Ic1c2_dX=0.0;
  double pav=0.0;
double d_pav_dX=0.0;
  double tmpV=0.0;
double d_tmpV_dX=0.0;
  double Vqs_th=0.0;
double d_Vqs_th_dX=0.0;
  double eps_VDC=0.0;
double d_eps_VDC_dX=0.0;
  double eps2=0.0;
double d_eps2_dX=0.0;
  double x2=0.0;
double d_x2_dX=0.0;
  double Vqs=0.0;
double d_Vqs_dX=0.0;
  double Iqs=0.0;
double d_Iqs_dX=0.0;
  double Ic1c2_Iqs=0.0;
double d_Ic1c2_Iqs_dX=0.0;
  double alpha1=0.0;
double d_alpha1_dX=0.0;
  double alpha=0.0;
double d_alpha_dX=0.0;
  double vyi=0.0;
double d_vyi_dX=0.0;
  double yi=0.0;
double d_yi_dX=0.0;
  double xi_w=0.0;
double d_xi_w_dX=0.0;
  double gp0=0.0;
double d_gp0_dX=0.0;
  double gp0_help=0.0;
double d_gp0_help_dX=0.0;
  double gp02=0.0;
double d_gp02_dX=0.0;
  double sqr_arg=0.0;
double d_sqr_arg_dX=0.0;
  double p0star=0.0;
double d_p0star_dX=0.0;
  double eVb2c2star=0.0;
double d_eVb2c2star_dX=0.0;
  double B1=0.0;
double d_B1_dX=0.0;
  double B2=0.0;
double d_B2_dX=0.0;
  double Vxi0=0.0;
double d_Vxi0_dX=0.0;
  double Vch=0.0;
double d_Vch_dX=0.0;
  double Icap=0.0;
double d_Icap_dX=0.0;
  double Icap_IHC=0.0;
double d_Icap_IHC_dX=0.0;
  double Vfe=0.0;
double d_Vfe_dX=0.0;
  double a_VDE=0.0;
double d_a_VDE_dX=0.0;
  double Vje=0.0;
double d_Vje_dX=0.0;
  double E0BE=0.0;
double d_E0BE_dX=0.0;
  double Vte=0.0;
double d_Vte_dX=0.0;
  double Vjunc=0.0;
double d_Vjunc_dX=0.0;
  double bjc=0.0;
double d_bjc_dX=0.0;
  double Vfc=0.0;
double d_Vfc_dX=0.0;
  double Vjc=0.0;
double d_Vjc_dX=0.0;
  double fI=0.0;
double d_fI_dX=0.0;
  double Vcv=0.0;
double d_Vcv_dX=0.0;
  double Vtc=0.0;
double d_Vtc_dX=0.0;
  double If0=0.0;
double d_If0_dX=0.0;
  double f1=0.0;
double d_f1_dX=0.0;
  double n0=0.0;
double d_n0_dX=0.0;
  double f2=0.0;
double d_f2_dX=0.0;
  double nB=0.0;
double d_nB_dX=0.0;
  double termE=0.0;
double d_termE_dX=0.0;
  double termC=0.0;
double d_termC_dX=0.0;
  double q0I=0.0;
double d_q0I_dX=0.0;
  double q1I=0.0;
double d_q1I_dX=0.0;
  double qBI=0.0;
double d_qBI_dX=0.0;
  double Ir=0.0;
double d_Ir_dX=0.0;
  double If=0.0;
double d_If_dX=0.0;
  double In=0.0;
double d_In_dX=0.0;
  double Ibf0=0.0;
double d_Ibf0_dX=0.0;
  double Ib1=0.0;
double d_Ib1_dX=0.0;
  double Ib1_s=0.0;
double d_Ib1_s_dX=0.0;
  double tmpExp=0.0;
double d_tmpExp_dX=0.0;
  double Ib2=0.0;
double d_Ib2_dX=0.0;
  double Ib3=0.0;
double d_Ib3_dX=0.0;
  double eZEB=0.0;
double d_eZEB_dX=0.0;
  double x=0.0;
double d_x_dX=0.0;
  double dE0BE=0.0;
double d_dE0BE_dX=0.0;
  double edZEB=0.0;
double d_edZEB_dX=0.0;
  double DZEB=0.0;
double d_DZEB_dX=0.0;
  double Izteb=0.0;
double d_Izteb_dX=0.0;
  double g1=0.0;
double d_g1_dX=0.0;
  double g2=0.0;
double d_g2_dX=0.0;
  double nBex=0.0;
double d_nBex_dX=0.0;
  double pWex=0.0;
double d_pWex_dX=0.0;
  double Iex=0.0;
double d_Iex_dX=0.0;
  double Isub=0.0;
double d_Isub_dX=0.0;
  double Isf=0.0;
double d_Isf_dX=0.0;
  double XIex=0.0;
double d_XIex_dX=0.0;
  double XIsub=0.0;
double d_XIsub_dX=0.0;
  double Xg1=0.0;
double d_Xg1_dX=0.0;
  double XnBex=0.0;
double d_XnBex_dX=0.0;
  double XIMex=0.0;
double d_XIMex_dX=0.0;
  double XIMsub=0.0;
double d_XIMsub_dX=0.0;
  double Vex_bias=0.0;
double d_Vex_bias_dX=0.0;
  double Vex=0.0;
double d_Vex_dX=0.0;
  double vdif=0.0;
double d_vdif_dX=0.0;
  double VBex=0.0;
double d_VBex_dX=0.0;
  double Fex=0.0;
double d_Fex_dX=0.0;
  double q0Q=0.0;
double d_q0Q_dX=0.0;
  double q1Q=0.0;
double d_q1Q_dX=0.0;
  double qBQ=0.0;
double d_qBQ_dX=0.0;
  double Rb2=0.0;
double d_Rb2_dX=0.0;
  double Ib1b2=0.0;
double d_Ib1b2_dX=0.0;
  double Iavl=0.0;
double d_Iavl_dX=0.0;
  double Gem=0.0;
double d_Gem_dX=0.0;
  double dEdx0=0.0;
double d_dEdx0_dX=0.0;
  double xd=0.0;
double d_xd_dX=0.0;
  double xi_w1=0.0;
double d_xi_w1_dX=0.0;
  double Weff=0.0;
double d_Weff_dX=0.0;
  double Wd=0.0;
double d_Wd_dX=0.0;
  double Eav=0.0;
double d_Eav_dX=0.0;
  double E0=0.0;
double d_E0_dX=0.0;
  double SHw=0.0;
double d_SHw_dX=0.0;
  double Efi=0.0;
double d_Efi_dX=0.0;
  double Ew=0.0;
double d_Ew_dX=0.0;
  double Em=0.0;
double d_Em_dX=0.0;
  double EmEav_Em=0.0;
double d_EmEav_Em_dX=0.0;
  double lambda=0.0;
double d_lambda_dX=0.0;
  double Gmax=0.0;
double d_Gmax_dX=0.0;
  double Vb2c2star=0.0;
double d_Vb2c2star_dX=0.0;
  double Qte=0.0;
double d_Qte_dX=0.0;
  double Vje_s=0.0;
double d_Vje_s_dX=0.0;
  double Qte_s=0.0;
double d_Qte_s_dX=0.0;
  double Qtc=0.0;
double d_Qtc_dX=0.0;
  double Qb0=0.0;
double d_Qb0_dX=0.0;
  double Qbe_qs=0.0;
double d_Qbe_qs_dX=0.0;
  double Qbc_qs=0.0;
double d_Qbc_qs_dX=0.0;
  double a_VDC=0.0;
double d_a_VDC_dX=0.0;
  double Vjcex=0.0;
double d_Vjcex_dX=0.0;
  double Vtexv=0.0;
double d_Vtexv_dX=0.0;
  double Qtex=0.0;
double d_Qtex_dX=0.0;
  double XVjcex=0.0;
double d_XVjcex_dX=0.0;
  double XVtexv=0.0;
double d_XVtexv_dX=0.0;
  double XQtex=0.0;
double d_XQtex_dX=0.0;
  double a_VDS=0.0;
double d_a_VDS_dX=0.0;
  double Vfs=0.0;
double d_Vfs_dX=0.0;
  double Vjs=0.0;
double d_Vjs_dX=0.0;
  double Qts=0.0;
double d_Qts_dX=0.0;
  double Qe0=0.0;
double d_Qe0_dX=0.0;
  double Qe_qs=0.0;
double d_Qe_qs_dX=0.0;
  double Qepi0=0.0;
double d_Qepi0_dX=0.0;
  double Qepi=0.0;
double d_Qepi_dX=0.0;
  double Qex=0.0;
double d_Qex_dX=0.0;
  double XQex=0.0;
double d_XQex_dX=0.0;
  double Xg2=0.0;
double d_Xg2_dX=0.0;
  double XpWex=0.0;
double d_XpWex_dX=0.0;
  double Qb1b2=0.0;
double d_Qb1b2_dX=0.0;
  double dVteVje=0.0;
double d_dVteVje_dX=0.0;
  double Vb2e1Vfe=0.0;
double d_Vb2e1Vfe_dX=0.0;
  double dVjeVb2e1=0.0;
double d_dVjeVb2e1_dX=0.0;
  double dVteVb2e1=0.0;
double d_dVteVb2e1_dX=0.0;
  double dQteVb2e1=0.0;
double d_dQteVb2e1_dX=0.0;
  double dn0Vb2e1=0.0;
double d_dn0Vb2e1_dX=0.0;
  double dQbeVb2e1=0.0;
double d_dQbeVb2e1_dX=0.0;
  double dQeVb2e1=0.0;
double d_dQeVb2e1_dX=0.0;
  double Qe=0.0;
double d_Qe_dX=0.0;
  double Qbe_qs_eff=0.0;
double d_Qbe_qs_eff_dX=0.0;
  double Qbc=0.0;
double d_Qbc_dX=0.0;
  double Qbe=0.0;
double d_Qbe_dX=0.0;


  // -- code converted from analog/code block
{
Vb2c1 = probeVars[admsProbeID_V_b2_c1];

Vb2c2 = probeVars[admsProbeID_V_b2_c2];

d_Vb2e1_dX = 0.0;
Vb2e1 = (modelStruct.modelPar_TYPE*(probeVars[admsProbeID_V_b2_e1]));
Vb1e1 = probeVars[admsProbeID_V_b1_e1];

Vb1b2 = probeVars[admsProbeID_V_b1_b2];

d_Vsc1_dX = 0.0;
Vsc1 = (modelStruct.modelPar_TYPE*(probeVars[admsProbeID_V_s_c1]));
d_Vc1c2_dX = 0.0;
Vc1c2 = (modelStruct.modelPar_TYPE*(probeVars[admsProbeID_V_c1_c2]));
d_Vee1_dX = 0.0;
Vee1 = (modelStruct.modelPar_TYPE*(probeVars[admsProbeID_V_e_e1]));
d_Vbb1_dX = 0.0;
Vbb1 = (modelStruct.modelPar_TYPE*(probeVars[admsProbeID_V_b_b1]));
d_Vbe_dX = 0.0;
Vbe = (modelStruct.modelPar_TYPE*(probeVars[admsProbeID_V_b_e]));
d_Vbc_dX = 0.0;
Vbc = (modelStruct.modelPar_TYPE*(probeVars[admsProbeID_V_b_c]));
if ((modelStruct.modelPar_RCBLX>0.0))
{
if ((modelStruct.modelPar_RCBLI>0.0))
{
d_Vc4c1_dX = 0.0;
Vc4c1 = (modelStruct.modelPar_TYPE*(probeVars[admsProbeID_V_c4_c1]));
d_Vc3c4_dX = 0.0;
Vc3c4 = (modelStruct.modelPar_TYPE*(probeVars[admsProbeID_V_c3_c4]));
}
else
{
d_Vc4c1_dX = 0.0;
Vc4c1 = 0;
d_Vc3c4_dX = 0.0;
Vc3c4 = (modelStruct.modelPar_TYPE*(probeVars[admsProbeID_V_c3_c1]));
}
}
else
{
if ((modelStruct.modelPar_RCBLI>0.0))
{
d_Vc4c1_dX = 0.0;
Vc4c1 = (modelStruct.modelPar_TYPE*(probeVars[admsProbeID_V_c4_c1]));
d_Vc3c4_dX = 0.0;
Vc3c4 = 0;
}
else
{
d_Vc4c1_dX = 0.0;
Vc4c1 = 0;
d_Vc3c4_dX = 0.0;
Vc3c4 = 0;
}
}
d_Vb1c4_dX = (((d_Vb1b2_dX+d_Vb2c2_dX)-d_Vc1c2_dX)-d_Vc4c1_dX);
Vb1c4 = (((Vb1b2+Vb2c2)-Vc1c2)-Vc4c1);
d_Vcc3_dX = ((((-d_Vbc_dX)+d_Vbb1_dX)+d_Vb1c4_dX)-d_Vc3c4_dX);
Vcc3 = ((((-Vbc)+Vbb1)+Vb1c4)-Vc3c4);
d_Vbc3_dX = (d_Vbc_dX+d_Vcc3_dX);
Vbc3 = (Vbc+Vcc3);
d_Vsc4_dX = (d_Vsc1_dX-d_Vc4c1_dX);
Vsc4 = (Vsc1-Vc4c1);
d_Vsc3_dX = (d_Vsc4_dX-d_Vc3c4_dX);
Vsc3 = (Vsc4-Vc3c4);
if (((Vb2c2*instanceStruct.instanceVar_VtINV)<400.0))
{
{
double value_exp_0 = exp((Vb2c2*instanceStruct.instanceVar_VtINV));
double  deriv_exp_0_d0 = value_exp_0;
d_eVb2c2_dX = deriv_exp_0_d0*((Vb2c2*instanceStruct.d_instanceVar_VtINV_dX+d_Vb2c2_dX*instanceStruct.instanceVar_VtINV));
eVb2c2 = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}
d_eVb2c2_dX = expl*(Vb2c2*instanceStruct.d_instanceVar_VtINV_dX+d_Vb2c2_dX*instanceStruct.instanceVar_VtINV);
eVb2c2 = (expl*(1.0+((Vb2c2*instanceStruct.instanceVar_VtINV)-400.0)));
}
if (((Vb2e1*instanceStruct.instanceVar_VtINV)<400.0))
{
{
double value_exp_0 = exp((Vb2e1*instanceStruct.instanceVar_VtINV));
double  deriv_exp_0_d0 = value_exp_0;
d_eVb2e1_dX = deriv_exp_0_d0*((Vb2e1*instanceStruct.d_instanceVar_VtINV_dX+d_Vb2e1_dX*instanceStruct.instanceVar_VtINV));
eVb2e1 = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}
d_eVb2e1_dX = expl*(Vb2e1*instanceStruct.d_instanceVar_VtINV_dX+d_Vb2e1_dX*instanceStruct.instanceVar_VtINV);
eVb2e1 = (expl*(1.0+((Vb2e1*instanceStruct.instanceVar_VtINV)-400.0)));
}
if (((Vb1e1*instanceStruct.instanceVar_VtINV)<400.0))
{
{
double value_exp_0 = exp((Vb1e1*instanceStruct.instanceVar_VtINV));
double  deriv_exp_0_d0 = value_exp_0;
d_eVb1e1_dX = deriv_exp_0_d0*((Vb1e1*instanceStruct.d_instanceVar_VtINV_dX+d_Vb1e1_dX*instanceStruct.instanceVar_VtINV));
eVb1e1 = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}
d_eVb1e1_dX = expl*(Vb1e1*instanceStruct.d_instanceVar_VtINV_dX+d_Vb1e1_dX*instanceStruct.instanceVar_VtINV);
eVb1e1 = (expl*(1.0+((Vb1e1*instanceStruct.instanceVar_VtINV)-400.0)));
}
if (((Vb1c4*instanceStruct.instanceVar_VtINV)<400.0))
{
{
double value_exp_0 = exp((Vb1c4*instanceStruct.instanceVar_VtINV));
double  deriv_exp_0_d0 = value_exp_0;
d_eVb1c4_dX = deriv_exp_0_d0*((Vb1c4*instanceStruct.d_instanceVar_VtINV_dX+d_Vb1c4_dX*instanceStruct.instanceVar_VtINV));
eVb1c4 = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}
d_eVb1c4_dX = expl*(Vb1c4*instanceStruct.d_instanceVar_VtINV_dX+d_Vb1c4_dX*instanceStruct.instanceVar_VtINV);
eVb1c4 = (expl*(1.0+((Vb1c4*instanceStruct.instanceVar_VtINV)-400.0)));
}
if (((Vb1b2*instanceStruct.instanceVar_VtINV)<400.0))
{
{
double value_exp_0 = exp((Vb1b2*instanceStruct.instanceVar_VtINV));
double  deriv_exp_0_d0 = value_exp_0;
d_eVb1b2_dX = deriv_exp_0_d0*((Vb1b2*instanceStruct.d_instanceVar_VtINV_dX+d_Vb1b2_dX*instanceStruct.instanceVar_VtINV));
eVb1b2 = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}
d_eVb1b2_dX = expl*(Vb1b2*instanceStruct.d_instanceVar_VtINV_dX+d_Vb1b2_dX*instanceStruct.instanceVar_VtINV);
eVb1b2 = (expl*(1.0+((Vb1b2*instanceStruct.instanceVar_VtINV)-400.0)));
}
if (((Vbc3*instanceStruct.instanceVar_VtINV)<400.0))
{
{
double value_exp_0 = exp((Vbc3*instanceStruct.instanceVar_VtINV));
double  deriv_exp_0_d0 = value_exp_0;
d_eVbc3_dX = deriv_exp_0_d0*((Vbc3*instanceStruct.d_instanceVar_VtINV_dX+d_Vbc3_dX*instanceStruct.instanceVar_VtINV));
eVbc3 = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}
d_eVbc3_dX = expl*(Vbc3*instanceStruct.d_instanceVar_VtINV_dX+d_Vbc3_dX*instanceStruct.instanceVar_VtINV);
eVbc3 = (expl*(1.0+((Vbc3*instanceStruct.instanceVar_VtINV)-400.0)));
}
if (((Vsc1*instanceStruct.instanceVar_VtINV)<400.0))
{
{
double value_exp_0 = exp((Vsc1*instanceStruct.instanceVar_VtINV));
double  deriv_exp_0_d0 = value_exp_0;
d_eVsc1_dX = deriv_exp_0_d0*((Vsc1*instanceStruct.d_instanceVar_VtINV_dX+d_Vsc1_dX*instanceStruct.instanceVar_VtINV));
eVsc1 = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}
d_eVsc1_dX = expl*(Vsc1*instanceStruct.d_instanceVar_VtINV_dX+d_Vsc1_dX*instanceStruct.instanceVar_VtINV);
eVsc1 = (expl*(1.0+((Vsc1*instanceStruct.instanceVar_VtINV)-400.0)));
}
if (((Vsc3*instanceStruct.instanceVar_VtINV)<400.0))
{
{
double value_exp_0 = exp((Vsc3*instanceStruct.instanceVar_VtINV));
double  deriv_exp_0_d0 = value_exp_0;
d_eVsc3_dX = deriv_exp_0_d0*((Vsc3*instanceStruct.d_instanceVar_VtINV_dX+d_Vsc3_dX*instanceStruct.instanceVar_VtINV));
eVsc3 = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}
d_eVsc3_dX = expl*(Vsc3*instanceStruct.d_instanceVar_VtINV_dX+d_Vsc3_dX*instanceStruct.instanceVar_VtINV);
eVsc3 = (expl*(1.0+((Vsc3*instanceStruct.instanceVar_VtINV)-400.0)));
}
if (((Vsc4*instanceStruct.instanceVar_VtINV)<400.0))
{
{
double value_exp_0 = exp((Vsc4*instanceStruct.instanceVar_VtINV));
double  deriv_exp_0_d0 = value_exp_0;
d_eVsc4_dX = deriv_exp_0_d0*((Vsc4*instanceStruct.d_instanceVar_VtINV_dX+d_Vsc4_dX*instanceStruct.instanceVar_VtINV));
eVsc4 = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}
d_eVsc4_dX = expl*(Vsc4*instanceStruct.d_instanceVar_VtINV_dX+d_Vsc4_dX*instanceStruct.instanceVar_VtINV);
eVsc4 = (expl*(1.0+((Vsc4*instanceStruct.instanceVar_VtINV)-400.0)));
}
if ((((Vbc3-instanceStruct.instanceVar_VDC_T)*instanceStruct.instanceVar_VtINV)<400.0))
{
{
double value_exp_0 = exp(((Vbc3-instanceStruct.instanceVar_VDC_T)*instanceStruct.instanceVar_VtINV));
double  deriv_exp_0_d0 = value_exp_0;
d_eVbc3VDC_dX = deriv_exp_0_d0*(((Vbc3-instanceStruct.instanceVar_VDC_T)*instanceStruct.d_instanceVar_VtINV_dX+(d_Vbc3_dX-instanceStruct.d_instanceVar_VDC_T_dX)*instanceStruct.instanceVar_VtINV));
eVbc3VDC = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}
d_eVbc3VDC_dX = expl*((Vbc3-instanceStruct.instanceVar_VDC_T)*instanceStruct.d_instanceVar_VtINV_dX+(d_Vbc3_dX-instanceStruct.d_instanceVar_VDC_T_dX)*instanceStruct.instanceVar_VtINV);
eVbc3VDC = (expl*(1.0+(((Vbc3-instanceStruct.instanceVar_VDC_T)*instanceStruct.instanceVar_VtINV)-400.0)));
}
if ((((Vb1c4-instanceStruct.instanceVar_VDC_T)*instanceStruct.instanceVar_VtINV)<400.0))
{
{
double value_exp_0 = exp(((Vb1c4-instanceStruct.instanceVar_VDC_T)*instanceStruct.instanceVar_VtINV));
double  deriv_exp_0_d0 = value_exp_0;
d_eVb1c4VDC_dX = deriv_exp_0_d0*(((Vb1c4-instanceStruct.instanceVar_VDC_T)*instanceStruct.d_instanceVar_VtINV_dX+(d_Vb1c4_dX-instanceStruct.d_instanceVar_VDC_T_dX)*instanceStruct.instanceVar_VtINV));
eVb1c4VDC = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}
d_eVb1c4VDC_dX = expl*((Vb1c4-instanceStruct.instanceVar_VDC_T)*instanceStruct.d_instanceVar_VtINV_dX+(d_Vb1c4_dX-instanceStruct.d_instanceVar_VDC_T_dX)*instanceStruct.instanceVar_VtINV);
eVb1c4VDC = (expl*(1.0+(((Vb1c4-instanceStruct.instanceVar_VDC_T)*instanceStruct.instanceVar_VtINV)-400.0)));
}
if ((((Vb2c2-instanceStruct.instanceVar_VDC_T)*instanceStruct.instanceVar_VtINV)<400.0))
{
{
double value_exp_0 = exp(((Vb2c2-instanceStruct.instanceVar_VDC_T)*instanceStruct.instanceVar_VtINV));
double  deriv_exp_0_d0 = value_exp_0;
d_eVb2c2VDC_dX = deriv_exp_0_d0*(((Vb2c2-instanceStruct.instanceVar_VDC_T)*instanceStruct.d_instanceVar_VtINV_dX+(d_Vb2c2_dX-instanceStruct.d_instanceVar_VDC_T_dX)*instanceStruct.instanceVar_VtINV));
eVb2c2VDC = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}
d_eVb2c2VDC_dX = expl*((Vb2c2-instanceStruct.instanceVar_VDC_T)*instanceStruct.d_instanceVar_VtINV_dX+(d_Vb2c2_dX-instanceStruct.d_instanceVar_VDC_T_dX)*instanceStruct.instanceVar_VtINV);
eVb2c2VDC = (expl*(1.0+(((Vb2c2-instanceStruct.instanceVar_VDC_T)*instanceStruct.instanceVar_VtINV)-400.0)));
}
if ((((Vb2c1-instanceStruct.instanceVar_VDC_T)*instanceStruct.instanceVar_VtINV)<400.0))
{
{
double value_exp_0 = exp(((Vb2c1-instanceStruct.instanceVar_VDC_T)*instanceStruct.instanceVar_VtINV));
double  deriv_exp_0_d0 = value_exp_0;
d_eVb2c1VDC_dX = deriv_exp_0_d0*(((Vb2c1-instanceStruct.instanceVar_VDC_T)*instanceStruct.d_instanceVar_VtINV_dX+(d_Vb2c1_dX-instanceStruct.d_instanceVar_VDC_T_dX)*instanceStruct.instanceVar_VtINV));
eVb2c1VDC = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}
d_eVb2c1VDC_dX = expl*((Vb2c1-instanceStruct.instanceVar_VDC_T)*instanceStruct.d_instanceVar_VtINV_dX+(d_Vb2c1_dX-instanceStruct.d_instanceVar_VDC_T_dX)*instanceStruct.instanceVar_VtINV);
eVb2c1VDC = (expl*(1.0+(((Vb2c1-instanceStruct.instanceVar_VDC_T)*instanceStruct.instanceVar_VtINV)-400.0)));
}
{
double value_sqrt_0 = sqrt((1.0+(4.0*eVb2c2VDC)));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_K0_dX = deriv_sqrt_0_d0*(4.0*d_eVb2c2VDC_dX);
K0 = value_sqrt_0;
}
{
double value_sqrt_0 = sqrt((1.0+(4.0*eVb2c1VDC)));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_Kw_dX = deriv_sqrt_0_d0*(4.0*d_eVb2c1VDC_dX);
Kw = value_sqrt_0;
}
d_pW_dX = (((1.0+Kw)*2.0*d_eVb2c1VDC_dX-(2.0*eVb2c1VDC)*d_Kw_dX)/(1.0+Kw)/(1.0+Kw));
pW = ((2.0*eVb2c1VDC)/(1.0+Kw));
{
double value_log_0 = log(((K0+1.0)/(Kw+1.0)));
double  deriv_log_0_d0 = (1.0/((K0+1.0)/(Kw+1.0)));
d_Ec_dX = (instanceStruct.instanceVar_Vt*((d_K0_dX-d_Kw_dX)-deriv_log_0_d0*((((Kw+1.0)*d_K0_dX-(K0+1.0)*d_Kw_dX)/(Kw+1.0)/(Kw+1.0))))+instanceStruct.d_instanceVar_Vt_dX*((K0-Kw)-value_log_0));
Ec = (instanceStruct.instanceVar_Vt*((K0-Kw)-value_log_0));
}
d_Ic1c2_dX = ((instanceStruct.instanceVar_RCV_TM*(d_Ec_dX+d_Vc1c2_dX)-(Ec+Vc1c2)*instanceStruct.d_instanceVar_RCV_TM_dX)/instanceStruct.instanceVar_RCV_TM/instanceStruct.instanceVar_RCV_TM);
Ic1c2 = ((Ec+Vc1c2)/instanceStruct.instanceVar_RCV_TM);
if ((Ic1c2>0.0))
{
if ((Vb2c1<100.0))
{
d_tmpV_dX = d_Vb2c1_dX;
tmpV = Vb2c1;
}
else
{
{
double value_log_0 = log((1.0+(Vb2c1-100.0)));
double  deriv_log_0_d0 = (1.0/(1.0+(Vb2c1-100.0)));
d_tmpV_dX = deriv_log_0_d0*(d_Vb2c1_dX);
tmpV = (100.0+value_log_0);
}
}
{
double value_log_0 = log(((((0.5*Ic1c2)*instanceStruct.instanceVar_RCV_TM)*instanceStruct.instanceVar_VtINV)+1.0));
double  deriv_log_0_d0 = (1.0/((((0.5*Ic1c2)*instanceStruct.instanceVar_RCV_TM)*instanceStruct.instanceVar_VtINV)+1.0));
d_Vqs_th_dX = ((instanceStruct.d_instanceVar_VDC_T_dX+((2.0*instanceStruct.instanceVar_Vt)*deriv_log_0_d0*((((0.5*Ic1c2)*instanceStruct.instanceVar_RCV_TM)*instanceStruct.d_instanceVar_VtINV_dX+((0.5*Ic1c2)*instanceStruct.d_instanceVar_RCV_TM_dX+0.5*d_Ic1c2_dX*instanceStruct.instanceVar_RCV_TM)*instanceStruct.instanceVar_VtINV))+2.0*instanceStruct.d_instanceVar_Vt_dX*value_log_0))-d_tmpV_dX);
Vqs_th = ((instanceStruct.instanceVar_VDC_T+((2.0*instanceStruct.instanceVar_Vt)*value_log_0))-tmpV);
}
d_eps_VDC_dX = 0.2*instanceStruct.d_instanceVar_VDC_T_dX;
eps_VDC = (0.2*instanceStruct.instanceVar_VDC_T);
d_eps2_dX = (eps_VDC*d_eps_VDC_dX+d_eps_VDC_dX*eps_VDC);
eps2 = (eps_VDC*eps_VDC);
d_x2_dX = (Vqs_th*d_Vqs_th_dX+d_Vqs_th_dX*Vqs_th);
x2 = (Vqs_th*Vqs_th);
if ((Vqs_th<0.0))
{
{
double value_sqrt_0 = sqrt((x2+eps2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_Vqs_dX = (((value_sqrt_0-Vqs_th)*0.5*d_eps2_dX-(0.5*eps2)*(deriv_sqrt_0_d0*((d_x2_dX+d_eps2_dX))-d_Vqs_th_dX))/(value_sqrt_0-Vqs_th)/(value_sqrt_0-Vqs_th));
Vqs = ((0.5*eps2)/(value_sqrt_0-Vqs_th));
}
}
else
{
{
double value_sqrt_0 = sqrt((x2+eps2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_Vqs_dX = 0.5*(deriv_sqrt_0_d0*((d_x2_dX+d_eps2_dX))+d_Vqs_th_dX);
Vqs = (0.5*(value_sqrt_0+Vqs_th));
}
}
d_Iqs_dX = (((instanceStruct.instanceVar_SCRCV_M*(Vqs+(instanceStruct.instanceVar_IHC_M*instanceStruct.instanceVar_RCV_TM)))*(Vqs*(d_Vqs_dX+(instanceStruct.instanceVar_IHC_M*instanceStruct.d_instanceVar_SCRCV_M_dX+instanceStruct.d_instanceVar_IHC_M_dX*instanceStruct.instanceVar_SCRCV_M))+d_Vqs_dX*(Vqs+(instanceStruct.instanceVar_IHC_M*instanceStruct.instanceVar_SCRCV_M)))-(Vqs*(Vqs+(instanceStruct.instanceVar_IHC_M*instanceStruct.instanceVar_SCRCV_M)))*(instanceStruct.instanceVar_SCRCV_M*(d_Vqs_dX+(instanceStruct.instanceVar_IHC_M*instanceStruct.d_instanceVar_RCV_TM_dX+instanceStruct.d_instanceVar_IHC_M_dX*instanceStruct.instanceVar_RCV_TM))+instanceStruct.d_instanceVar_SCRCV_M_dX*(Vqs+(instanceStruct.instanceVar_IHC_M*instanceStruct.instanceVar_RCV_TM))))/(instanceStruct.instanceVar_SCRCV_M*(Vqs+(instanceStruct.instanceVar_IHC_M*instanceStruct.instanceVar_RCV_TM)))/(instanceStruct.instanceVar_SCRCV_M*(Vqs+(instanceStruct.instanceVar_IHC_M*instanceStruct.instanceVar_RCV_TM))));
Iqs = ((Vqs*(Vqs+(instanceStruct.instanceVar_IHC_M*instanceStruct.instanceVar_SCRCV_M)))/(instanceStruct.instanceVar_SCRCV_M*(Vqs+(instanceStruct.instanceVar_IHC_M*instanceStruct.instanceVar_RCV_TM))));
d_Ic1c2_Iqs_dX = ((Iqs*d_Ic1c2_dX-Ic1c2*d_Iqs_dX)/Iqs/Iqs);
Ic1c2_Iqs = (Ic1c2/Iqs);
instanceStruct.d_instanceVar_dxa_dX = ((modelStruct.modelPar_AXI*d_Ic1c2_Iqs_dX-(Ic1c2_Iqs-1.0)*modelStruct.d_modelPar_AXI_dX)/modelStruct.modelPar_AXI/modelStruct.modelPar_AXI);
instanceStruct.instanceVar_dxa = ((Ic1c2_Iqs-1.0)/modelStruct.modelPar_AXI);
if ((Ic1c2_Iqs<1.0))
{
{
double value_exp_0 = exp(instanceStruct.instanceVar_dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
d_alpha1_dX = (modelStruct.modelPar_AXI*deriv_log_1_d0*(deriv_exp_0_d0*(instanceStruct.d_instanceVar_dxa_dX))+modelStruct.d_modelPar_AXI_dX*value_log_1);
alpha1 = (1.0+(modelStruct.modelPar_AXI*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-instanceStruct.instanceVar_dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
d_alpha1_dX = (d_Ic1c2_Iqs_dX+(modelStruct.modelPar_AXI*deriv_log_1_d0*(deriv_exp_0_d0*((-instanceStruct.d_instanceVar_dxa_dX)))+modelStruct.d_modelPar_AXI_dX*value_log_1));
alpha1 = (Ic1c2_Iqs+(modelStruct.modelPar_AXI*value_log_1));
}
}
{
double value_exp_0 = exp(((-1.0)/modelStruct.modelPar_AXI));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
d_alpha_dX = (((1.0+(modelStruct.modelPar_AXI*value_log_1))*d_alpha1_dX-alpha1*(modelStruct.modelPar_AXI*deriv_log_1_d0*(deriv_exp_0_d0*((-(-1.0)*modelStruct.d_modelPar_AXI_dX/modelStruct.modelPar_AXI/modelStruct.modelPar_AXI)))+modelStruct.d_modelPar_AXI_dX*value_log_1))/(1.0+(modelStruct.modelPar_AXI*value_log_1))/(1.0+(modelStruct.modelPar_AXI*value_log_1)));
alpha = (alpha1/(1.0+(modelStruct.modelPar_AXI*value_log_1)));
}
d_vyi_dX = (((instanceStruct.instanceVar_IHC_M*instanceStruct.instanceVar_SCRCV_M)*d_Vqs_dX-Vqs*(instanceStruct.instanceVar_IHC_M*instanceStruct.d_instanceVar_SCRCV_M_dX+instanceStruct.d_instanceVar_IHC_M_dX*instanceStruct.instanceVar_SCRCV_M))/(instanceStruct.instanceVar_IHC_M*instanceStruct.instanceVar_SCRCV_M)/(instanceStruct.instanceVar_IHC_M*instanceStruct.instanceVar_SCRCV_M));
vyi = (Vqs/(instanceStruct.instanceVar_IHC_M*instanceStruct.instanceVar_SCRCV_M));
{
double value_sqrt_0 = sqrt((1.0+(((4.0*alpha)*vyi)*(1.0+vyi))));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_yi_dX = ((((2.0*alpha)*(1.0+vyi))*deriv_sqrt_0_d0*((((4.0*alpha)*vyi)*d_vyi_dX+((4.0*alpha)*d_vyi_dX+4.0*d_alpha_dX*vyi)*(1.0+vyi)))-(1.0+value_sqrt_0)*((2.0*alpha)*d_vyi_dX+2.0*d_alpha_dX*(1.0+vyi)))/((2.0*alpha)*(1.0+vyi))/((2.0*alpha)*(1.0+vyi)));
yi = ((1.0+value_sqrt_0)/((2.0*alpha)*(1.0+vyi)));
}
d_xi_w_dX = (((1.0+(pW*yi))*((-d_yi_dX)+(pW*d_yi_dX+d_pW_dX*yi))-((1.0-yi)+(pW*yi))*(pW*d_yi_dX+d_pW_dX*yi))/(1.0+(pW*yi))/(1.0+(pW*yi)));
xi_w = (((1.0-yi)+(pW*yi))/(1.0+(pW*yi)));
d_gp0_dX = ((((0.5*Ic1c2)*instanceStruct.instanceVar_RCV_TM)*xi_w)*instanceStruct.d_instanceVar_VtINV_dX+(((0.5*Ic1c2)*instanceStruct.instanceVar_RCV_TM)*d_xi_w_dX+((0.5*Ic1c2)*instanceStruct.d_instanceVar_RCV_TM_dX+0.5*d_Ic1c2_dX*instanceStruct.instanceVar_RCV_TM)*xi_w)*instanceStruct.instanceVar_VtINV);
gp0 = ((((0.5*Ic1c2)*instanceStruct.instanceVar_RCV_TM)*xi_w)*instanceStruct.instanceVar_VtINV);
d_gp0_help_dX = (2.0*d_gp0_dX+(pW*(d_pW_dX+d_gp0_dX)+d_pW_dX*((pW+gp0)+1.0)));
gp0_help = ((2.0*gp0)+(pW*((pW+gp0)+1.0)));
d_gp02_dX = 0.5*d_gp0_dX;
gp02 = (0.5*(gp0-1.0));
d_sqr_arg_dX = ((gp02*d_gp02_dX+d_gp02_dX*gp02)+d_gp0_help_dX);
sqr_arg = ((gp02*gp02)+gp0_help);
if ((gp0>=1.0))
{
{
double value_sqrt_0 = sqrt(sqr_arg);
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_p0star_dX = (d_gp02_dX+deriv_sqrt_0_d0*(d_sqr_arg_dX));
p0star = (gp02+value_sqrt_0);
}
}
else
{
{
double value_sqrt_0 = sqrt(sqr_arg);
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_p0star_dX = (((value_sqrt_0-gp02)*d_gp0_help_dX-gp0_help*(deriv_sqrt_0_d0*(d_sqr_arg_dX)-d_gp02_dX))/(value_sqrt_0-gp02)/(value_sqrt_0-gp02));
p0star = (gp0_help/(value_sqrt_0-gp02));
}
}
{
double value_exp_0 = exp((instanceStruct.instanceVar_VDC_T*instanceStruct.instanceVar_VtINV));
double  deriv_exp_0_d0 = value_exp_0;
d_eVb2c2star_dX = ((p0star*(p0star+1.0))*deriv_exp_0_d0*((instanceStruct.instanceVar_VDC_T*instanceStruct.d_instanceVar_VtINV_dX+instanceStruct.d_instanceVar_VDC_T_dX*instanceStruct.instanceVar_VtINV))+(p0star*d_p0star_dX+d_p0star_dX*(p0star+1.0))*value_exp_0);
eVb2c2star = ((p0star*(p0star+1.0))*value_exp_0);
}
d_B1_dX = ((0.5*instanceStruct.instanceVar_SCRCV_M)*(d_Ic1c2_dX-instanceStruct.d_instanceVar_IHC_M_dX)+0.5*instanceStruct.d_instanceVar_SCRCV_M_dX*(Ic1c2-instanceStruct.instanceVar_IHC_M));
B1 = ((0.5*instanceStruct.instanceVar_SCRCV_M)*(Ic1c2-instanceStruct.instanceVar_IHC_M));
d_B2_dX = (((instanceStruct.instanceVar_SCRCV_M*instanceStruct.instanceVar_RCV_TM)*instanceStruct.instanceVar_IHC_M)*d_Ic1c2_dX+((instanceStruct.instanceVar_SCRCV_M*instanceStruct.instanceVar_RCV_TM)*instanceStruct.d_instanceVar_IHC_M_dX+(instanceStruct.instanceVar_SCRCV_M*instanceStruct.d_instanceVar_RCV_TM_dX+instanceStruct.d_instanceVar_SCRCV_M_dX*instanceStruct.instanceVar_RCV_TM)*instanceStruct.instanceVar_IHC_M)*Ic1c2);
B2 = (((instanceStruct.instanceVar_SCRCV_M*instanceStruct.instanceVar_RCV_TM)*instanceStruct.instanceVar_IHC_M)*Ic1c2);
{
double value_sqrt_0 = sqrt(((B1*B1)+B2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_Vxi0_dX = (d_B1_dX+deriv_sqrt_0_d0*(((B1*d_B1_dX+d_B1_dX*B1)+d_B2_dX)));
Vxi0 = (B1+value_sqrt_0);
}
d_Vch_dX = (instanceStruct.instanceVar_VDC_T*(((Ic1c2+Iqs)*2.0*d_Ic1c2_dX-(2.0*Ic1c2)*(d_Ic1c2_dX+d_Iqs_dX))/(Ic1c2+Iqs)/(Ic1c2+Iqs))+instanceStruct.d_instanceVar_VDC_T_dX*(0.1+((2.0*Ic1c2)/(Ic1c2+Iqs))));
Vch = (instanceStruct.instanceVar_VDC_T*(0.1+((2.0*Ic1c2)/(Ic1c2+Iqs))));
d_Icap_dX = (((instanceStruct.instanceVar_IHC_M+Ic1c2)*(instanceStruct.instanceVar_IHC_M*d_Ic1c2_dX+instanceStruct.d_instanceVar_IHC_M_dX*Ic1c2)-(instanceStruct.instanceVar_IHC_M*Ic1c2)*(instanceStruct.d_instanceVar_IHC_M_dX+d_Ic1c2_dX))/(instanceStruct.instanceVar_IHC_M+Ic1c2)/(instanceStruct.instanceVar_IHC_M+Ic1c2));
Icap = ((instanceStruct.instanceVar_IHC_M*Ic1c2)/(instanceStruct.instanceVar_IHC_M+Ic1c2));
d_Icap_IHC_dX = (((instanceStruct.instanceVar_IHC_M+Ic1c2)*instanceStruct.d_instanceVar_IHC_M_dX-instanceStruct.instanceVar_IHC_M*(instanceStruct.d_instanceVar_IHC_M_dX+d_Ic1c2_dX))/(instanceStruct.instanceVar_IHC_M+Ic1c2)/(instanceStruct.instanceVar_IHC_M+Ic1c2));
Icap_IHC = (instanceStruct.instanceVar_IHC_M/(instanceStruct.instanceVar_IHC_M+Ic1c2));
}
else
{
d_Iqs_dX = 0.0;
Iqs = 0.0;
d_p0star_dX = (((1.0+K0)*2.0*d_eVb2c2VDC_dX-(2.0*eVb2c2VDC)*d_K0_dX)/(1.0+K0)/(1.0+K0));
p0star = ((2.0*eVb2c2VDC)/(1.0+K0));
d_eVb2c2star_dX = d_eVb2c2_dX;
eVb2c2star = eVb2c2;
if (((fabs(Vc1c2)<(1.0e-5*instanceStruct.instanceVar_Vt))||(fabs(Ec)<((1.0e-40*instanceStruct.instanceVar_Vt)*(K0+Kw)))))
{
d_pav_dX = 0.5*(d_p0star_dX+d_pW_dX);
pav = (0.5*(p0star+pW));
d_xi_w_dX = (((pav+1.0)*d_pav_dX-pav*d_pav_dX)/(pav+1.0)/(pav+1.0));
xi_w = (pav/(pav+1.0));
}
else
{
d_xi_w_dX = ((((Ec+Vb2c2)-Vb2c1)*d_Ec_dX-Ec*((d_Ec_dX+d_Vb2c2_dX)-d_Vb2c1_dX))/((Ec+Vb2c2)-Vb2c1)/((Ec+Vb2c2)-Vb2c1));
xi_w = (Ec/((Ec+Vb2c2)-Vb2c1));
}
d_Vxi0_dX = d_Vc1c2_dX;
Vxi0 = Vc1c2;
d_Vch_dX = 0.1*instanceStruct.d_instanceVar_VDC_T_dX;
Vch = (0.1*instanceStruct.instanceVar_VDC_T);
d_Icap_dX = d_Ic1c2_dX;
Icap = Ic1c2;
d_Icap_IHC_dX = (-((instanceStruct.instanceVar_IHC_M*d_Icap_dX-Icap*instanceStruct.d_instanceVar_IHC_M_dX)/instanceStruct.instanceVar_IHC_M/instanceStruct.instanceVar_IHC_M));
Icap_IHC = (1.0-(Icap/instanceStruct.instanceVar_IHC_M));
}
{
double value_pow_0 = pow(3.0,((-1.0)/modelStruct.modelPar_PE));
double  deriv_pow_0_d1 = (3.0 == 0.0)?0.0:(log(3.0)*value_pow_0);
d_Vfe_dX = (instanceStruct.instanceVar_VDE_T*(-(deriv_pow_0_d1*((-(-1.0)*modelStruct.d_modelPar_PE_dX/modelStruct.modelPar_PE/modelStruct.modelPar_PE))))+instanceStruct.d_instanceVar_VDE_T_dX*(1.0-value_pow_0));
Vfe = (instanceStruct.instanceVar_VDE_T*(1.0-value_pow_0));
}
d_a_VDE_dX = 0.1*instanceStruct.d_instanceVar_VDE_T_dX;
a_VDE = (0.1*instanceStruct.instanceVar_VDE_T);
instanceStruct.d_instanceVar_dxa_dX = ((a_VDE*(d_Vb2e1_dX-d_Vfe_dX)-(Vb2e1-Vfe)*d_a_VDE_dX)/a_VDE/a_VDE);
instanceStruct.instanceVar_dxa = ((Vb2e1-Vfe)/a_VDE);
if ((Vb2e1<Vfe))
{
{
double value_exp_0 = exp(instanceStruct.instanceVar_dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
d_Vje_dX = (d_Vb2e1_dX-(a_VDE*deriv_log_1_d0*(deriv_exp_0_d0*(instanceStruct.d_instanceVar_dxa_dX))+d_a_VDE_dX*value_log_1));
Vje = (Vb2e1-(a_VDE*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-instanceStruct.instanceVar_dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
d_Vje_dX = (d_Vfe_dX-(a_VDE*deriv_log_1_d0*(deriv_exp_0_d0*((-instanceStruct.d_instanceVar_dxa_dX)))+d_a_VDE_dX*value_log_1));
Vje = (Vfe-(a_VDE*value_log_1));
}
}
{
double value_pow_0 = pow((1.0-(Vje*instanceStruct.instanceVar_inv_VDE_T)),(1.0-modelStruct.modelPar_PE));
double  deriv_pow_0_d0 = (((1.0-(Vje*instanceStruct.instanceVar_inv_VDE_T)) == 0.0)?0.0:(value_pow_0*(1.0-modelStruct.modelPar_PE)/(1.0-(Vje*instanceStruct.instanceVar_inv_VDE_T))));
double  deriv_pow_0_d1 = ((1.0-(Vje*instanceStruct.instanceVar_inv_VDE_T)) == 0.0)?0.0:(log((1.0-(Vje*instanceStruct.instanceVar_inv_VDE_T)))*value_pow_0);
d_E0BE_dX = ((deriv_pow_0_d0*((-(Vje*instanceStruct.d_instanceVar_inv_VDE_T_dX+d_Vje_dX*instanceStruct.instanceVar_inv_VDE_T))))+(deriv_pow_0_d1*((-modelStruct.d_modelPar_PE_dX))));
E0BE = value_pow_0;
}
d_Vte_dX = (((instanceStruct.instanceVar_VDE_T/(1.0-modelStruct.modelPar_PE))*(-d_E0BE_dX)+(((1.0-modelStruct.modelPar_PE)*instanceStruct.d_instanceVar_VDE_T_dX-instanceStruct.instanceVar_VDE_T*(-modelStruct.d_modelPar_PE_dX))/(1.0-modelStruct.modelPar_PE)/(1.0-modelStruct.modelPar_PE))*(1.0-E0BE))+3.0*(d_Vb2e1_dX-d_Vje_dX));
Vte = (((instanceStruct.instanceVar_VDE_T/(1.0-modelStruct.modelPar_PE))*(1.0-E0BE))+(3.0*(Vb2e1-Vje)));
d_Vjunc_dX = (d_Vb2c1_dX+d_Vxi0_dX);
Vjunc = (Vb2c1+Vxi0);
d_bjc_dX = (((1.0-instanceStruct.instanceVar_XP_T)*(-instanceStruct.d_instanceVar_XP_T_dX)-(2.0-instanceStruct.instanceVar_XP_T)*(-instanceStruct.d_instanceVar_XP_T_dX))/(1.0-instanceStruct.instanceVar_XP_T)/(1.0-instanceStruct.instanceVar_XP_T));
bjc = ((2.0-instanceStruct.instanceVar_XP_T)/(1.0-instanceStruct.instanceVar_XP_T));
{
double value_pow_0 = pow(bjc,((-1.0)/modelStruct.modelPar_PC));
double  deriv_pow_0_d0 = ((bjc == 0.0)?0.0:(value_pow_0*((-1.0)/modelStruct.modelPar_PC)/bjc));
double  deriv_pow_0_d1 = (bjc == 0.0)?0.0:(log(bjc)*value_pow_0);
d_Vfc_dX = (instanceStruct.instanceVar_VDC_T*(-((deriv_pow_0_d0*(d_bjc_dX))+(deriv_pow_0_d1*((-(-1.0)*modelStruct.d_modelPar_PC_dX/modelStruct.modelPar_PC/modelStruct.modelPar_PC)))))+instanceStruct.d_instanceVar_VDC_T_dX*(1.0-value_pow_0));
Vfc = (instanceStruct.instanceVar_VDC_T*(1.0-value_pow_0));
}
instanceStruct.d_instanceVar_dxa_dX = ((Vch*(d_Vjunc_dX-d_Vfc_dX)-(Vjunc-Vfc)*d_Vch_dX)/Vch/Vch);
instanceStruct.instanceVar_dxa = ((Vjunc-Vfc)/Vch);
if ((Vjunc<Vfc))
{
{
double value_exp_0 = exp(instanceStruct.instanceVar_dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
d_Vjc_dX = (d_Vjunc_dX-(Vch*deriv_log_1_d0*(deriv_exp_0_d0*(instanceStruct.d_instanceVar_dxa_dX))+d_Vch_dX*value_log_1));
Vjc = (Vjunc-(Vch*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-instanceStruct.instanceVar_dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
d_Vjc_dX = (d_Vfc_dX-(Vch*deriv_log_1_d0*(deriv_exp_0_d0*((-instanceStruct.d_instanceVar_dxa_dX)))+d_Vch_dX*value_log_1));
Vjc = (Vfc-(Vch*value_log_1));
}
}
{
double value_pow_0 = pow(Icap_IHC,modelStruct.modelPar_MC);
double  deriv_pow_0_d0 = ((Icap_IHC == 0.0)?0.0:(value_pow_0*modelStruct.modelPar_MC/Icap_IHC));
double  deriv_pow_0_d1 = (Icap_IHC == 0.0)?0.0:(log(Icap_IHC)*value_pow_0);
d_fI_dX = ((deriv_pow_0_d0*(d_Icap_IHC_dX))+(deriv_pow_0_d1*(modelStruct.d_modelPar_MC_dX)));
fI = value_pow_0;
}
{
double value_pow_0 = pow((1.0-(Vjc/instanceStruct.instanceVar_VDC_T)),(1.0-modelStruct.modelPar_PC));
double  deriv_pow_0_d0 = (((1.0-(Vjc/instanceStruct.instanceVar_VDC_T)) == 0.0)?0.0:(value_pow_0*(1.0-modelStruct.modelPar_PC)/(1.0-(Vjc/instanceStruct.instanceVar_VDC_T))));
double  deriv_pow_0_d1 = ((1.0-(Vjc/instanceStruct.instanceVar_VDC_T)) == 0.0)?0.0:(log((1.0-(Vjc/instanceStruct.instanceVar_VDC_T)))*value_pow_0);
d_Vcv_dX = (((instanceStruct.instanceVar_VDC_T/(1.0-modelStruct.modelPar_PC))*(-(fI*((deriv_pow_0_d0*((-((instanceStruct.instanceVar_VDC_T*d_Vjc_dX-Vjc*instanceStruct.d_instanceVar_VDC_T_dX)/instanceStruct.instanceVar_VDC_T/instanceStruct.instanceVar_VDC_T))))+(deriv_pow_0_d1*((-modelStruct.d_modelPar_PC_dX))))+d_fI_dX*value_pow_0))+(((1.0-modelStruct.modelPar_PC)*instanceStruct.d_instanceVar_VDC_T_dX-instanceStruct.instanceVar_VDC_T*(-modelStruct.d_modelPar_PC_dX))/(1.0-modelStruct.modelPar_PC)/(1.0-modelStruct.modelPar_PC))*(1.0-(fI*value_pow_0)))+((fI*bjc)*(d_Vjunc_dX-d_Vjc_dX)+(fI*d_bjc_dX+d_fI_dX*bjc)*(Vjunc-Vjc)));
Vcv = (((instanceStruct.instanceVar_VDC_T/(1.0-modelStruct.modelPar_PC))*(1.0-(fI*value_pow_0)))+((fI*bjc)*(Vjunc-Vjc)));
}
d_Vtc_dX = (((1.0-instanceStruct.instanceVar_XP_T)*d_Vcv_dX+(-instanceStruct.d_instanceVar_XP_T_dX)*Vcv)+(instanceStruct.instanceVar_XP_T*d_Vb2c1_dX+instanceStruct.d_instanceVar_XP_T_dX*Vb2c1));
Vtc = (((1.0-instanceStruct.instanceVar_XP_T)*Vcv)+(instanceStruct.instanceVar_XP_T*Vb2c1));
d_If0_dX = ((instanceStruct.instanceVar_IK_TM*4.0*instanceStruct.d_instanceVar_IS_TM_dX-(4.0*instanceStruct.instanceVar_IS_TM)*instanceStruct.d_instanceVar_IK_TM_dX)/instanceStruct.instanceVar_IK_TM/instanceStruct.instanceVar_IK_TM);
If0 = ((4.0*instanceStruct.instanceVar_IS_TM)/instanceStruct.instanceVar_IK_TM);
d_f1_dX = (If0*d_eVb2e1_dX+d_If0_dX*eVb2e1);
f1 = (If0*eVb2e1);
{
double value_sqrt_0 = sqrt((1.0+f1));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_n0_dX = (((1.0+value_sqrt_0)*d_f1_dX-f1*deriv_sqrt_0_d0*(d_f1_dX))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
n0 = (f1/(1.0+value_sqrt_0));
}
d_f2_dX = (If0*d_eVb2c2star_dX+d_If0_dX*eVb2c2star);
f2 = (If0*eVb2c2star);
{
double value_sqrt_0 = sqrt((1.0+f2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_nB_dX = (((1.0+value_sqrt_0)*d_f2_dX-f2*deriv_sqrt_0_d0*(d_f2_dX))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
nB = (f2/(1.0+value_sqrt_0));
}
if ((modelStruct.modelPar_DEG==0.0))
{
d_q0I_dX = (((instanceStruct.instanceVar_VER_T*d_Vte_dX-Vte*instanceStruct.d_instanceVar_VER_T_dX)/instanceStruct.instanceVar_VER_T/instanceStruct.instanceVar_VER_T)+((instanceStruct.instanceVar_VEF_T*d_Vtc_dX-Vtc*instanceStruct.d_instanceVar_VEF_T_dX)/instanceStruct.instanceVar_VEF_T/instanceStruct.instanceVar_VEF_T));
q0I = ((1.0+(Vte/instanceStruct.instanceVar_VER_T))+(Vtc/instanceStruct.instanceVar_VEF_T));
}
else
{
d_termE_dX = ((((Vte/instanceStruct.instanceVar_VER_T)+1.0)*instanceStruct.instanceVar_DEG_T)*instanceStruct.d_instanceVar_VtINV_dX+(((Vte/instanceStruct.instanceVar_VER_T)+1.0)*instanceStruct.d_instanceVar_DEG_T_dX+((instanceStruct.instanceVar_VER_T*d_Vte_dX-Vte*instanceStruct.d_instanceVar_VER_T_dX)/instanceStruct.instanceVar_VER_T/instanceStruct.instanceVar_VER_T)*instanceStruct.instanceVar_DEG_T)*instanceStruct.instanceVar_VtINV);
termE = ((((Vte/instanceStruct.instanceVar_VER_T)+1.0)*instanceStruct.instanceVar_DEG_T)*instanceStruct.instanceVar_VtINV);
d_termC_dX = ((((-Vtc)/instanceStruct.instanceVar_VEF_T)*instanceStruct.instanceVar_DEG_T)*instanceStruct.d_instanceVar_VtINV_dX+(((-Vtc)/instanceStruct.instanceVar_VEF_T)*instanceStruct.d_instanceVar_DEG_T_dX+((instanceStruct.instanceVar_VEF_T*(-d_Vtc_dX)-(-Vtc)*instanceStruct.d_instanceVar_VEF_T_dX)/instanceStruct.instanceVar_VEF_T/instanceStruct.instanceVar_VEF_T)*instanceStruct.instanceVar_DEG_T)*instanceStruct.instanceVar_VtINV);
termC = ((((-Vtc)/instanceStruct.instanceVar_VEF_T)*instanceStruct.instanceVar_DEG_T)*instanceStruct.instanceVar_VtINV);
{
double value_exp_0 = exp(termE);
double value_exp_1 = exp(termC);
double value_exp_2 = exp((instanceStruct.instanceVar_DEG_T*instanceStruct.instanceVar_VtINV));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_exp_1_d0 = value_exp_1;
double  deriv_exp_2_d0 = value_exp_2;
d_q0I_dX = (((value_exp_2-1.0)*(deriv_exp_0_d0*(d_termE_dX)-deriv_exp_1_d0*(d_termC_dX))-(value_exp_0-value_exp_1)*deriv_exp_2_d0*((instanceStruct.instanceVar_DEG_T*instanceStruct.d_instanceVar_VtINV_dX+instanceStruct.d_instanceVar_DEG_T_dX*instanceStruct.instanceVar_VtINV)))/(value_exp_2-1.0)/(value_exp_2-1.0));
q0I = ((value_exp_0-value_exp_1)/(value_exp_2-1.0));
}
}
d_eps2_dX = 0.0;
eps2 = (0.1*0.1);
d_x2_dX = (q0I*d_q0I_dX+d_q0I_dX*q0I);
x2 = (q0I*q0I);
if ((q0I<0.0))
{
{
double value_sqrt_0 = sqrt((x2+eps2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_q1I_dX = (((value_sqrt_0-q0I)*0.5*d_eps2_dX-(0.5*eps2)*(deriv_sqrt_0_d0*((d_x2_dX+d_eps2_dX))-d_q0I_dX))/(value_sqrt_0-q0I)/(value_sqrt_0-q0I));
q1I = ((0.5*eps2)/(value_sqrt_0-q0I));
}
}
else
{
{
double value_sqrt_0 = sqrt((x2+eps2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_q1I_dX = 0.5*(deriv_sqrt_0_d0*((d_x2_dX+d_eps2_dX))+d_q0I_dX);
q1I = (0.5*(value_sqrt_0+q0I));
}
}
d_qBI_dX = (q1I*0.5*(d_n0_dX+d_nB_dX)+d_q1I_dX*(1.0+(0.5*(n0+nB))));
qBI = (q1I*(1.0+(0.5*(n0+nB))));
d_Ir_dX = (instanceStruct.instanceVar_IS_TM*d_eVb2c2star_dX+instanceStruct.d_instanceVar_IS_TM_dX*eVb2c2star);
Ir = (instanceStruct.instanceVar_IS_TM*eVb2c2star);
d_If_dX = (instanceStruct.instanceVar_IS_TM*d_eVb2e1_dX+instanceStruct.d_instanceVar_IS_TM_dX*eVb2e1);
If = (instanceStruct.instanceVar_IS_TM*eVb2e1);
d_In_dX = ((qBI*(d_If_dX-d_Ir_dX)-(If-Ir)*d_qBI_dX)/qBI/qBI);
In = ((If-Ir)/qBI);
d_Ibf0_dX = ((instanceStruct.instanceVar_BF_T*instanceStruct.d_instanceVar_IS_TM_dX-instanceStruct.instanceVar_IS_TM*instanceStruct.d_instanceVar_BF_T_dX)/instanceStruct.instanceVar_BF_T/instanceStruct.instanceVar_BF_T);
Ibf0 = (instanceStruct.instanceVar_IS_TM/instanceStruct.instanceVar_BF_T);
if ((modelStruct.modelPar_XREC==0.0))
{
d_Ib1_dX = (((1.0-modelStruct.modelPar_XIBI)*Ibf0)*d_eVb2e1_dX+((1.0-modelStruct.modelPar_XIBI)*d_Ibf0_dX+(-modelStruct.d_modelPar_XIBI_dX)*Ibf0)*(eVb2e1-1.0));
Ib1 = (((1.0-modelStruct.modelPar_XIBI)*Ibf0)*(eVb2e1-1.0));
}
else
{
d_Ib1_dX = (((1.0-modelStruct.modelPar_XIBI)*Ibf0)*(((1.0-modelStruct.modelPar_XREC)*d_eVb2e1_dX+(-modelStruct.d_modelPar_XREC_dX)*(eVb2e1-1.0))+((modelStruct.modelPar_XREC*((eVb2e1+eVb2c2star)-2.0))*((instanceStruct.instanceVar_VEF_T*d_Vtc_dX-Vtc*instanceStruct.d_instanceVar_VEF_T_dX)/instanceStruct.instanceVar_VEF_T/instanceStruct.instanceVar_VEF_T)+(modelStruct.modelPar_XREC*(d_eVb2e1_dX+d_eVb2c2star_dX)+modelStruct.d_modelPar_XREC_dX*((eVb2e1+eVb2c2star)-2.0))*(1.0+(Vtc/instanceStruct.instanceVar_VEF_T))))+((1.0-modelStruct.modelPar_XIBI)*d_Ibf0_dX+(-modelStruct.d_modelPar_XIBI_dX)*Ibf0)*(((1.0-modelStruct.modelPar_XREC)*(eVb2e1-1.0))+((modelStruct.modelPar_XREC*((eVb2e1+eVb2c2star)-2.0))*(1.0+(Vtc/instanceStruct.instanceVar_VEF_T)))));
Ib1 = (((1.0-modelStruct.modelPar_XIBI)*Ibf0)*(((1.0-modelStruct.modelPar_XREC)*(eVb2e1-1.0))+((modelStruct.modelPar_XREC*((eVb2e1+eVb2c2star)-2.0))*(1.0+(Vtc/instanceStruct.instanceVar_VEF_T)))));
}
d_Ib1_s_dX = ((modelStruct.modelPar_XIBI*Ibf0)*d_eVb1e1_dX+(modelStruct.modelPar_XIBI*d_Ibf0_dX+modelStruct.d_modelPar_XIBI_dX*Ibf0)*(eVb1e1-1.0));
Ib1_s = ((modelStruct.modelPar_XIBI*Ibf0)*(eVb1e1-1.0));
if ((((Vb2e1*instanceStruct.instanceVar_VtINV)/modelStruct.modelPar_MLF)<400.0))
{
{
double value_exp_0 = exp(((Vb2e1*instanceStruct.instanceVar_VtINV)/modelStruct.modelPar_MLF));
double  deriv_exp_0_d0 = value_exp_0;
d_tmpExp_dX = deriv_exp_0_d0*(((modelStruct.modelPar_MLF*(Vb2e1*instanceStruct.d_instanceVar_VtINV_dX+d_Vb2e1_dX*instanceStruct.instanceVar_VtINV)-(Vb2e1*instanceStruct.instanceVar_VtINV)*modelStruct.d_modelPar_MLF_dX)/modelStruct.modelPar_MLF/modelStruct.modelPar_MLF));
tmpExp = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}
d_tmpExp_dX = expl*((modelStruct.modelPar_MLF*(Vb2e1*instanceStruct.d_instanceVar_VtINV_dX+d_Vb2e1_dX*instanceStruct.instanceVar_VtINV)-(Vb2e1*instanceStruct.instanceVar_VtINV)*modelStruct.d_modelPar_MLF_dX)/modelStruct.modelPar_MLF/modelStruct.modelPar_MLF);
tmpExp = (expl*(1.0+(((Vb2e1*instanceStruct.instanceVar_VtINV)/modelStruct.modelPar_MLF)-400.0)));
}
d_Ib2_dX = ((instanceStruct.instanceVar_IBF_TM*d_tmpExp_dX+instanceStruct.d_instanceVar_IBF_TM_dX*(tmpExp-1.0))+(modelStruct.modelPar_GMIN*d_Vb2e1_dX+modelStruct.d_modelPar_GMIN_dX*Vb2e1));
Ib2 = ((instanceStruct.instanceVar_IBF_TM*(tmpExp-1.0))+(modelStruct.modelPar_GMIN*Vb2e1));
if ((((0.5*Vb1c4)*instanceStruct.instanceVar_VtINV)<400.0))
{
{
double value_exp_0 = exp(((0.5*Vb1c4)*instanceStruct.instanceVar_VtINV));
double  deriv_exp_0_d0 = value_exp_0;
d_tmpExp_dX = deriv_exp_0_d0*(((0.5*Vb1c4)*instanceStruct.d_instanceVar_VtINV_dX+0.5*d_Vb1c4_dX*instanceStruct.instanceVar_VtINV));
tmpExp = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}
d_tmpExp_dX = expl*((0.5*Vb1c4)*instanceStruct.d_instanceVar_VtINV_dX+0.5*d_Vb1c4_dX*instanceStruct.instanceVar_VtINV);
tmpExp = (expl*(1.0+(((0.5*Vb1c4)*instanceStruct.instanceVar_VtINV)-400.0)));
}
{
double value_exp_0 = exp(((0.5*modelStruct.modelPar_VLR)*instanceStruct.instanceVar_VtINV));
double  deriv_exp_0_d0 = value_exp_0;
d_Ib3_dX = ((((tmpExp+value_exp_0)*(instanceStruct.instanceVar_IBR_TM*d_eVb1c4_dX+instanceStruct.d_instanceVar_IBR_TM_dX*(eVb1c4-1.0))-(instanceStruct.instanceVar_IBR_TM*(eVb1c4-1.0))*(d_tmpExp_dX+deriv_exp_0_d0*(((0.5*modelStruct.modelPar_VLR)*instanceStruct.d_instanceVar_VtINV_dX+0.5*modelStruct.d_modelPar_VLR_dX*instanceStruct.instanceVar_VtINV))))/(tmpExp+value_exp_0)/(tmpExp+value_exp_0))+(modelStruct.modelPar_GMIN*d_Vb1c4_dX+modelStruct.d_modelPar_GMIN_dX*Vb1c4));
Ib3 = (((instanceStruct.instanceVar_IBR_TM*(eVb1c4-1.0))/(tmpExp+value_exp_0))+(modelStruct.modelPar_GMIN*Vb1c4));
}
if ((((modelStruct.modelPar_IZEB>0.0)&&(modelStruct.modelPar_NZEB>0.0))&&(Vb2e1<0)))
{
if (((instanceStruct.instanceVar_nZEB_T*(1-(instanceStruct.instanceVar_pow2_2mPE/(2.0*E0BE))))<400.0))
{
{
double value_exp_0 = exp((instanceStruct.instanceVar_nZEB_T*(1-(instanceStruct.instanceVar_pow2_2mPE/(2.0*E0BE)))));
double  deriv_exp_0_d0 = value_exp_0;
d_eZEB_dX = deriv_exp_0_d0*((instanceStruct.instanceVar_nZEB_T*(-(((2.0*E0BE)*instanceStruct.d_instanceVar_pow2_2mPE_dX-instanceStruct.instanceVar_pow2_2mPE*2.0*d_E0BE_dX)/(2.0*E0BE)/(2.0*E0BE)))+instanceStruct.d_instanceVar_nZEB_T_dX*(1-(instanceStruct.instanceVar_pow2_2mPE/(2.0*E0BE)))));
eZEB = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}
d_eZEB_dX = expl*(instanceStruct.instanceVar_nZEB_T*(-(((2.0*E0BE)*instanceStruct.d_instanceVar_pow2_2mPE_dX-instanceStruct.instanceVar_pow2_2mPE*2.0*d_E0BE_dX)/(2.0*E0BE)/(2.0*E0BE)))+instanceStruct.d_instanceVar_nZEB_T_dX*(1-(instanceStruct.instanceVar_pow2_2mPE/(2.0*E0BE))));
eZEB = (expl*(1.0+((instanceStruct.instanceVar_nZEB_T*(1-(instanceStruct.instanceVar_pow2_2mPE/(2.0*E0BE))))-400.0)));
}
d_x_dX = (Vb2e1*instanceStruct.d_instanceVar_inv_VDE_T_dX+d_Vb2e1_dX*instanceStruct.instanceVar_inv_VDE_T);
x = (Vb2e1*instanceStruct.instanceVar_inv_VDE_T);
{
double value_pow_0 = pow((-x),((-2.0)-modelStruct.modelPar_PE));
double  deriv_pow_0_d0 = (((-x) == 0.0)?0.0:(value_pow_0*((-2.0)-modelStruct.modelPar_PE)/(-x)));
double  deriv_pow_0_d1 = ((-x) == 0.0)?0.0:(log((-x))*value_pow_0);
d_dE0BE_dX = (value_pow_0*((modelStruct.modelPar_PE*((-(modelStruct.modelPar_PE*modelStruct.d_modelPar_PE_dX+modelStruct.d_modelPar_PE_dX*modelStruct.modelPar_PE))-((3*x)*modelStruct.d_modelPar_PE_dX+3*d_x_dX*(modelStruct.modelPar_PE-1)))+modelStruct.d_modelPar_PE_dX*((1-(modelStruct.modelPar_PE*modelStruct.modelPar_PE))-((3*x)*(modelStruct.modelPar_PE-1))))-(((6*x)*x)*(modelStruct.d_modelPar_PE_dX+d_x_dX)+((6*x)*d_x_dX+6*d_x_dX*x)*((modelStruct.modelPar_PE-1)+x)))+((deriv_pow_0_d0*((-d_x_dX)))+(deriv_pow_0_d1*((-modelStruct.d_modelPar_PE_dX))))*((modelStruct.modelPar_PE*((1-(modelStruct.modelPar_PE*modelStruct.modelPar_PE))-((3*x)*(modelStruct.modelPar_PE-1))))-(((6*x)*x)*((modelStruct.modelPar_PE-1)+x))))*0.16666666666666666667;
dE0BE = ((value_pow_0*((modelStruct.modelPar_PE*((1-(modelStruct.modelPar_PE*modelStruct.modelPar_PE))-((3*x)*(modelStruct.modelPar_PE-1))))-(((6*x)*x)*((modelStruct.modelPar_PE-1)+x))))*0.16666666666666666667);
}
if (((((Vb2e1*instanceStruct.instanceVar_pow2_2mPE)*instanceStruct.instanceVar_nZEB_T)/(instanceStruct.instanceVar_VGZEB_T*dE0BE))<400.0))
{
{
double value_exp_0 = exp((((Vb2e1*instanceStruct.instanceVar_pow2_2mPE)*instanceStruct.instanceVar_nZEB_T)/(instanceStruct.instanceVar_VGZEB_T*dE0BE)));
double  deriv_exp_0_d0 = value_exp_0;
d_edZEB_dX = deriv_exp_0_d0*((((instanceStruct.instanceVar_VGZEB_T*dE0BE)*((Vb2e1*instanceStruct.instanceVar_pow2_2mPE)*instanceStruct.d_instanceVar_nZEB_T_dX+(Vb2e1*instanceStruct.d_instanceVar_pow2_2mPE_dX+d_Vb2e1_dX*instanceStruct.instanceVar_pow2_2mPE)*instanceStruct.instanceVar_nZEB_T)-((Vb2e1*instanceStruct.instanceVar_pow2_2mPE)*instanceStruct.instanceVar_nZEB_T)*(instanceStruct.instanceVar_VGZEB_T*d_dE0BE_dX+instanceStruct.d_instanceVar_VGZEB_T_dX*dE0BE))/(instanceStruct.instanceVar_VGZEB_T*dE0BE)/(instanceStruct.instanceVar_VGZEB_T*dE0BE)));
edZEB = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}
d_edZEB_dX = expl*(((instanceStruct.instanceVar_VGZEB_T*dE0BE)*((Vb2e1*instanceStruct.instanceVar_pow2_2mPE)*instanceStruct.d_instanceVar_nZEB_T_dX+(Vb2e1*instanceStruct.d_instanceVar_pow2_2mPE_dX+d_Vb2e1_dX*instanceStruct.instanceVar_pow2_2mPE)*instanceStruct.instanceVar_nZEB_T)-((Vb2e1*instanceStruct.instanceVar_pow2_2mPE)*instanceStruct.instanceVar_nZEB_T)*(instanceStruct.instanceVar_VGZEB_T*d_dE0BE_dX+instanceStruct.d_instanceVar_VGZEB_T_dX*dE0BE))/(instanceStruct.instanceVar_VGZEB_T*dE0BE)/(instanceStruct.instanceVar_VGZEB_T*dE0BE));
edZEB = (expl*(1.0+((((Vb2e1*instanceStruct.instanceVar_pow2_2mPE)*instanceStruct.instanceVar_nZEB_T)/(instanceStruct.instanceVar_VGZEB_T*dE0BE))-400.0)));
}
d_DZEB_dX = ((-d_Vb2e1_dX)-(((instanceStruct.instanceVar_pow2_2mPE*instanceStruct.instanceVar_nZEB_T)*((instanceStruct.instanceVar_VGZEB_T*dE0BE)*(-d_edZEB_dX)+(instanceStruct.instanceVar_VGZEB_T*d_dE0BE_dX+instanceStruct.d_instanceVar_VGZEB_T_dX*dE0BE)*(1-edZEB))-((instanceStruct.instanceVar_VGZEB_T*dE0BE)*(1-edZEB))*(instanceStruct.instanceVar_pow2_2mPE*instanceStruct.d_instanceVar_nZEB_T_dX+instanceStruct.d_instanceVar_pow2_2mPE_dX*instanceStruct.instanceVar_nZEB_T))/(instanceStruct.instanceVar_pow2_2mPE*instanceStruct.instanceVar_nZEB_T)/(instanceStruct.instanceVar_pow2_2mPE*instanceStruct.instanceVar_nZEB_T)));
DZEB = ((-Vb2e1)-(((instanceStruct.instanceVar_VGZEB_T*dE0BE)*(1-edZEB))/(instanceStruct.instanceVar_pow2_2mPE*instanceStruct.instanceVar_nZEB_T)));
d_Izteb_dX = ((((((2.0*instanceStruct.instanceVar_IZEB_TM)*DZEB)*E0BE)*eZEB)*instanceStruct.instanceVar_inv_VDE_T)*instanceStruct.d_instanceVar_pow2_PEm2_dX+(((((2.0*instanceStruct.instanceVar_IZEB_TM)*DZEB)*E0BE)*eZEB)*instanceStruct.d_instanceVar_inv_VDE_T_dX+((((2.0*instanceStruct.instanceVar_IZEB_TM)*DZEB)*E0BE)*d_eZEB_dX+(((2.0*instanceStruct.instanceVar_IZEB_TM)*DZEB)*d_E0BE_dX+((2.0*instanceStruct.instanceVar_IZEB_TM)*d_DZEB_dX+2.0*instanceStruct.d_instanceVar_IZEB_TM_dX*DZEB)*E0BE)*eZEB)*instanceStruct.instanceVar_inv_VDE_T)*instanceStruct.instanceVar_pow2_PEm2);
Izteb = ((((((2.0*instanceStruct.instanceVar_IZEB_TM)*DZEB)*E0BE)*eZEB)*instanceStruct.instanceVar_inv_VDE_T)*instanceStruct.instanceVar_pow2_PEm2);
}
else
{
d_DZEB_dX = 0.0;
DZEB = 0;
d_Izteb_dX = 0.0;
Izteb = 0;
}
d_g1_dX = (If0*d_eVb1c4_dX+d_If0_dX*eVb1c4);
g1 = (If0*eVb1c4);
d_g2_dX = 4.0*d_eVb1c4VDC_dX;
g2 = (4.0*eVb1c4VDC);
{
double value_sqrt_0 = sqrt((1.0+g1));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_nBex_dX = (((1.0+value_sqrt_0)*(d_g1_dX-d_If0_dX)-(g1-If0)*deriv_sqrt_0_d0*(d_g1_dX))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
nBex = ((g1-If0)/(1.0+value_sqrt_0));
}
{
double value_sqrt_0 = sqrt((1.0+g2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_pWex_dX = (((1.0+value_sqrt_0)*d_g2_dX-g2*deriv_sqrt_0_d0*(d_g2_dX))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
pWex = (g2/(1.0+value_sqrt_0));
}
d_Iex_dX = (((2.0*instanceStruct.instanceVar_BRI_T)*(instanceStruct.instanceVar_IK_TM*d_nBex_dX+instanceStruct.d_instanceVar_IK_TM_dX*nBex)-(instanceStruct.instanceVar_IK_TM*nBex)*2.0*instanceStruct.d_instanceVar_BRI_T_dX)/(2.0*instanceStruct.instanceVar_BRI_T)/(2.0*instanceStruct.instanceVar_BRI_T));
Iex = ((instanceStruct.instanceVar_IK_TM*nBex)/(2.0*instanceStruct.instanceVar_BRI_T));
if ((modelStruct.modelPar_EXSUB==1.0))
{
{
double value_sqrt_0 = sqrt((1.0+((4.0*(instanceStruct.instanceVar_IS_TM/instanceStruct.instanceVar_IKS_TM))*eVb1c4)));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_Isub_dX = (((1.0+value_sqrt_0)*((2.0*instanceStruct.instanceVar_ISS_TM)*(d_eVb1c4_dX-d_eVsc4_dX)+2.0*instanceStruct.d_instanceVar_ISS_TM_dX*(eVb1c4-eVsc4))-((2.0*instanceStruct.instanceVar_ISS_TM)*(eVb1c4-eVsc4))*deriv_sqrt_0_d0*(((4.0*(instanceStruct.instanceVar_IS_TM/instanceStruct.instanceVar_IKS_TM))*d_eVb1c4_dX+4.0*((instanceStruct.instanceVar_IKS_TM*instanceStruct.d_instanceVar_IS_TM_dX-instanceStruct.instanceVar_IS_TM*instanceStruct.d_instanceVar_IKS_TM_dX)/instanceStruct.instanceVar_IKS_TM/instanceStruct.instanceVar_IKS_TM)*eVb1c4)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
Isub = (((2.0*instanceStruct.instanceVar_ISS_TM)*(eVb1c4-eVsc4))/(1.0+value_sqrt_0));
}
}
else
{
{
double value_sqrt_0 = sqrt((1.0+((4.0*(instanceStruct.instanceVar_IS_TM/instanceStruct.instanceVar_IKS_TM))*eVb1c4)));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_Isub_dX = (((1.0+value_sqrt_0)*((2.0*instanceStruct.instanceVar_ISS_TM)*d_eVb1c4_dX+2.0*instanceStruct.d_instanceVar_ISS_TM_dX*(eVb1c4-1.0))-((2.0*instanceStruct.instanceVar_ISS_TM)*(eVb1c4-1.0))*deriv_sqrt_0_d0*(((4.0*(instanceStruct.instanceVar_IS_TM/instanceStruct.instanceVar_IKS_TM))*d_eVb1c4_dX+4.0*((instanceStruct.instanceVar_IKS_TM*instanceStruct.d_instanceVar_IS_TM_dX-instanceStruct.instanceVar_IS_TM*instanceStruct.d_instanceVar_IKS_TM_dX)/instanceStruct.instanceVar_IKS_TM/instanceStruct.instanceVar_IKS_TM)*eVb1c4)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
Isub = (((2.0*instanceStruct.instanceVar_ISS_TM)*(eVb1c4-1.0))/(1.0+value_sqrt_0));
}
}
if ((modelStruct.modelPar_ICSS<0.0))
{
d_Isf_dX = (instanceStruct.instanceVar_ISS_TM*d_eVsc1_dX+instanceStruct.d_instanceVar_ISS_TM_dX*(eVsc1-1.0));
Isf = (instanceStruct.instanceVar_ISS_TM*(eVsc1-1.0));
}
else
{
d_Isf_dX = (instanceStruct.instanceVar_ICSS_TM*d_eVsc1_dX+instanceStruct.d_instanceVar_ICSS_TM_dX*(eVsc1-1.0));
Isf = (instanceStruct.instanceVar_ICSS_TM*(eVsc1-1.0));
}
d_XIex_dX = 0.0;
XIex = 0.0;
d_XIsub_dX = 0.0;
XIsub = 0.0;
if (((modelStruct.modelPar_EXMOD==1)||(modelStruct.modelPar_EXMOD==2)))
{
d_Iex_dX = (Iex*instanceStruct.d_instanceVar_Xext1_dX+d_Iex_dX*instanceStruct.instanceVar_Xext1);
Iex = (Iex*instanceStruct.instanceVar_Xext1);
d_Isub_dX = (Isub*instanceStruct.d_instanceVar_Xext1_dX+d_Isub_dX*instanceStruct.instanceVar_Xext1);
Isub = (Isub*instanceStruct.instanceVar_Xext1);
d_Xg1_dX = (If0*d_eVbc3_dX+d_If0_dX*eVbc3);
Xg1 = (If0*eVbc3);
{
double value_sqrt_0 = sqrt((1.0+Xg1));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_XnBex_dX = (((1.0+value_sqrt_0)*(d_Xg1_dX-d_If0_dX)-(Xg1-If0)*deriv_sqrt_0_d0*(d_Xg1_dX))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
XnBex = ((Xg1-If0)/(1.0+value_sqrt_0));
}
d_XIMex_dX = ((instanceStruct.instanceVar_BRI_T*(((modelStruct.modelPar_XEXT*0.5)*instanceStruct.instanceVar_IK_TM)*d_XnBex_dX+((modelStruct.modelPar_XEXT*0.5)*instanceStruct.d_instanceVar_IK_TM_dX+modelStruct.d_modelPar_XEXT_dX*0.5*instanceStruct.instanceVar_IK_TM)*XnBex)-(((modelStruct.modelPar_XEXT*0.5)*instanceStruct.instanceVar_IK_TM)*XnBex)*instanceStruct.d_instanceVar_BRI_T_dX)/instanceStruct.instanceVar_BRI_T/instanceStruct.instanceVar_BRI_T);
XIMex = ((((modelStruct.modelPar_XEXT*0.5)*instanceStruct.instanceVar_IK_TM)*XnBex)/instanceStruct.instanceVar_BRI_T);
if ((modelStruct.modelPar_EXSUB==1.0))
{
{
double value_sqrt_0 = sqrt((1.0+(((4.0*instanceStruct.instanceVar_IS_T)/instanceStruct.instanceVar_IKS_T)*eVbc3)));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_XIMsub_dX = (((1.0+value_sqrt_0)*(((modelStruct.modelPar_XEXT*2.0)*instanceStruct.instanceVar_ISS_TM)*(d_eVbc3_dX-d_eVsc3_dX)+((modelStruct.modelPar_XEXT*2.0)*instanceStruct.d_instanceVar_ISS_TM_dX+modelStruct.d_modelPar_XEXT_dX*2.0*instanceStruct.instanceVar_ISS_TM)*(eVbc3-eVsc3))-(((modelStruct.modelPar_XEXT*2.0)*instanceStruct.instanceVar_ISS_TM)*(eVbc3-eVsc3))*deriv_sqrt_0_d0*((((4.0*instanceStruct.instanceVar_IS_T)/instanceStruct.instanceVar_IKS_T)*d_eVbc3_dX+((instanceStruct.instanceVar_IKS_T*4.0*instanceStruct.d_instanceVar_IS_T_dX-(4.0*instanceStruct.instanceVar_IS_T)*instanceStruct.d_instanceVar_IKS_T_dX)/instanceStruct.instanceVar_IKS_T/instanceStruct.instanceVar_IKS_T)*eVbc3)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
XIMsub = ((((modelStruct.modelPar_XEXT*2.0)*instanceStruct.instanceVar_ISS_TM)*(eVbc3-eVsc3))/(1.0+value_sqrt_0));
}
}
else
{
{
double value_sqrt_0 = sqrt((1.0+(((4.0*instanceStruct.instanceVar_IS_T)/instanceStruct.instanceVar_IKS_T)*eVbc3)));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_XIMsub_dX = (((1.0+value_sqrt_0)*(((modelStruct.modelPar_XEXT*2.0)*instanceStruct.instanceVar_ISS_TM)*d_eVbc3_dX+((modelStruct.modelPar_XEXT*2.0)*instanceStruct.d_instanceVar_ISS_TM_dX+modelStruct.d_modelPar_XEXT_dX*2.0*instanceStruct.instanceVar_ISS_TM)*(eVbc3-1.0))-(((modelStruct.modelPar_XEXT*2.0)*instanceStruct.instanceVar_ISS_TM)*(eVbc3-1.0))*deriv_sqrt_0_d0*((((4.0*instanceStruct.instanceVar_IS_T)/instanceStruct.instanceVar_IKS_T)*d_eVbc3_dX+((instanceStruct.instanceVar_IKS_T*4.0*instanceStruct.d_instanceVar_IS_T_dX-(4.0*instanceStruct.instanceVar_IS_T)*instanceStruct.d_instanceVar_IKS_T_dX)/instanceStruct.instanceVar_IKS_T/instanceStruct.instanceVar_IKS_T)*eVbc3)))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
XIMsub = ((((modelStruct.modelPar_XEXT*2.0)*instanceStruct.instanceVar_ISS_TM)*(eVbc3-1.0))/(1.0+value_sqrt_0));
}
}
if ((modelStruct.modelPar_EXMOD==1))
{
d_Vex_bias_dX = ((modelStruct.modelPar_XEXT*((instanceStruct.instanceVar_IS_TM/instanceStruct.instanceVar_BRI_T)+instanceStruct.instanceVar_ISS_TM))*instanceStruct.d_instanceVar_RCCxx_TM_dX+(modelStruct.modelPar_XEXT*(((instanceStruct.instanceVar_BRI_T*instanceStruct.d_instanceVar_IS_TM_dX-instanceStruct.instanceVar_IS_TM*instanceStruct.d_instanceVar_BRI_T_dX)/instanceStruct.instanceVar_BRI_T/instanceStruct.instanceVar_BRI_T)+instanceStruct.d_instanceVar_ISS_TM_dX)+modelStruct.d_modelPar_XEXT_dX*((instanceStruct.instanceVar_IS_TM/instanceStruct.instanceVar_BRI_T)+instanceStruct.instanceVar_ISS_TM))*instanceStruct.instanceVar_RCCxx_TM);
Vex_bias = ((modelStruct.modelPar_XEXT*((instanceStruct.instanceVar_IS_TM/instanceStruct.instanceVar_BRI_T)+instanceStruct.instanceVar_ISS_TM))*instanceStruct.instanceVar_RCCxx_TM);
{
double value_log_0 = log((Vex_bias*instanceStruct.instanceVar_VtINV));
double  deriv_log_0_d0 = (1.0/(Vex_bias*instanceStruct.instanceVar_VtINV));
d_Vex_dX = (instanceStruct.instanceVar_Vt*(-deriv_log_0_d0*((Vex_bias*instanceStruct.d_instanceVar_VtINV_dX+d_Vex_bias_dX*instanceStruct.instanceVar_VtINV)))+instanceStruct.d_instanceVar_Vt_dX*(2.0-value_log_0));
Vex = (instanceStruct.instanceVar_Vt*(2.0-value_log_0));
}
d_vdif_dX = (d_Vbc3_dX-d_Vex_dX);
vdif = (Vbc3-Vex);
d_eps2_dX = 0.0;
eps2 = (0.11*0.11);
d_x2_dX = (vdif*d_vdif_dX+d_vdif_dX*vdif);
x2 = (vdif*vdif);
if ((vdif<0.0))
{
{
double value_sqrt_0 = sqrt((x2+eps2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_VBex_dX = (((value_sqrt_0-vdif)*0.5*d_eps2_dX-(0.5*eps2)*(deriv_sqrt_0_d0*((d_x2_dX+d_eps2_dX))-d_vdif_dX))/(value_sqrt_0-vdif)/(value_sqrt_0-vdif));
VBex = ((0.5*eps2)/(value_sqrt_0-vdif));
}
}
else
{
{
double value_sqrt_0 = sqrt((x2+eps2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_VBex_dX = 0.5*(deriv_sqrt_0_d0*((d_x2_dX+d_eps2_dX))+d_vdif_dX);
VBex = (0.5*(value_sqrt_0+vdif));
}
}
d_Fex_dX = ((((Vex_bias+((XIMex+XIMsub)*instanceStruct.instanceVar_RCCxx_TM))+VBex)*d_VBex_dX-VBex*((d_Vex_bias_dX+((XIMex+XIMsub)*instanceStruct.d_instanceVar_RCCxx_TM_dX+(d_XIMex_dX+d_XIMsub_dX)*instanceStruct.instanceVar_RCCxx_TM))+d_VBex_dX))/((Vex_bias+((XIMex+XIMsub)*instanceStruct.instanceVar_RCCxx_TM))+VBex)/((Vex_bias+((XIMex+XIMsub)*instanceStruct.instanceVar_RCCxx_TM))+VBex));
Fex = (VBex/((Vex_bias+((XIMex+XIMsub)*instanceStruct.instanceVar_RCCxx_TM))+VBex));
}
else
{
d_Vex_dX = 0.0;
Vex = 0.0;
d_vdif_dX = 0.0;
vdif = 0.0;
d_VBex_dX = 0.0;
VBex = 0.0;
d_Fex_dX = 0.0;
Fex = 1.0;
}
d_XIex_dX = (Fex*d_XIMex_dX+d_Fex_dX*XIMex);
XIex = (Fex*XIMex);
d_XIsub_dX = (Fex*d_XIMsub_dX+d_Fex_dX*XIMsub);
XIsub = (Fex*XIMsub);
}
else
{
d_Fex_dX = 0.0;
Fex = 0;
d_XnBex_dX = 0.0;
XnBex = 0;
}
d_q0Q_dX = (((instanceStruct.instanceVar_VER_T*d_Vte_dX-Vte*instanceStruct.d_instanceVar_VER_T_dX)/instanceStruct.instanceVar_VER_T/instanceStruct.instanceVar_VER_T)+((instanceStruct.instanceVar_VEF_T*d_Vtc_dX-Vtc*instanceStruct.d_instanceVar_VEF_T_dX)/instanceStruct.instanceVar_VEF_T/instanceStruct.instanceVar_VEF_T));
q0Q = ((1.0+(Vte/instanceStruct.instanceVar_VER_T))+(Vtc/instanceStruct.instanceVar_VEF_T));
d_eps2_dX = 0.0;
eps2 = (0.1*0.1);
d_x2_dX = (q0Q*d_q0Q_dX+d_q0Q_dX*q0Q);
x2 = (q0Q*q0Q);
if ((q0Q<0.0))
{
{
double value_sqrt_0 = sqrt((x2+eps2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_q1Q_dX = (((value_sqrt_0-q0Q)*0.5*d_eps2_dX-(0.5*eps2)*(deriv_sqrt_0_d0*((d_x2_dX+d_eps2_dX))-d_q0Q_dX))/(value_sqrt_0-q0Q)/(value_sqrt_0-q0Q));
q1Q = ((0.5*eps2)/(value_sqrt_0-q0Q));
}
}
else
{
{
double value_sqrt_0 = sqrt((x2+eps2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_q1Q_dX = 0.5*(deriv_sqrt_0_d0*((d_x2_dX+d_eps2_dX))+d_q0Q_dX);
q1Q = (0.5*(value_sqrt_0+q0Q));
}
}
d_qBQ_dX = (q1Q*0.5*(d_n0_dX+d_nB_dX)+d_q1Q_dX*(1.0+(0.5*(n0+nB))));
qBQ = (q1Q*(1.0+(0.5*(n0+nB))));
d_Rb2_dX = ((qBQ*3.0*instanceStruct.d_instanceVar_RBV_TM_dX-(3.0*instanceStruct.instanceVar_RBV_TM)*d_qBQ_dX)/qBQ/qBQ);
Rb2 = ((3.0*instanceStruct.instanceVar_RBV_TM)/qBQ);
d_Ib1b2_dX = ((Rb2*(((2.0*instanceStruct.instanceVar_Vt)*d_eVb1b2_dX+2.0*instanceStruct.d_instanceVar_Vt_dX*(eVb1b2-1.0))+d_Vb1b2_dX)-(((2.0*instanceStruct.instanceVar_Vt)*(eVb1b2-1.0))+Vb1b2)*d_Rb2_dX)/Rb2/Rb2);
Ib1b2 = ((((2.0*instanceStruct.instanceVar_Vt)*(eVb1b2-1.0))+Vb1b2)/Rb2);
d_Iavl_dX = 0.0;
Iavl = 0.0;
d_Gem_dX = 0.0;
Gem = 0.0;
if (((Ic1c2>0.0)&&(Vb2c1<instanceStruct.instanceVar_VDC_T)))
{
d_dEdx0_dX = (((modelStruct.modelPar_WAVL*modelStruct.modelPar_WAVL)*2.0*modelStruct.d_modelPar_VAVL_dX-(2.0*modelStruct.modelPar_VAVL)*(modelStruct.modelPar_WAVL*modelStruct.d_modelPar_WAVL_dX+modelStruct.d_modelPar_WAVL_dX*modelStruct.modelPar_WAVL))/(modelStruct.modelPar_WAVL*modelStruct.modelPar_WAVL)/(modelStruct.modelPar_WAVL*modelStruct.modelPar_WAVL));
dEdx0 = ((2.0*modelStruct.modelPar_VAVL)/(modelStruct.modelPar_WAVL*modelStruct.modelPar_WAVL));
d_sqr_arg_dX = ((Icap_IHC*(instanceStruct.d_instanceVar_VDC_T_dX-d_Vb2c1_dX)-(instanceStruct.instanceVar_VDC_T-Vb2c1)*d_Icap_IHC_dX)/Icap_IHC/Icap_IHC);
sqr_arg = ((instanceStruct.instanceVar_VDC_T-Vb2c1)/Icap_IHC);
{
double value_sqrt_0 = sqrt(((2.0*sqr_arg)/dEdx0));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_xd_dX = deriv_sqrt_0_d0*(((dEdx0*2.0*d_sqr_arg_dX-(2.0*sqr_arg)*d_dEdx0_dX)/dEdx0/dEdx0));
xd = value_sqrt_0;
}
if ((modelStruct.modelPar_EXAVL==0.0))
{
d_Weff_dX = modelStruct.d_modelPar_WAVL_dX;
Weff = modelStruct.modelPar_WAVL;
}
else
{
d_xi_w1_dX = (-0.5*d_xi_w_dX);
xi_w1 = (1.0-(0.5*xi_w));
d_Weff_dX = ((modelStruct.modelPar_WAVL*xi_w1)*d_xi_w1_dX+(modelStruct.modelPar_WAVL*d_xi_w1_dX+modelStruct.d_modelPar_WAVL_dX*xi_w1)*xi_w1);
Weff = ((modelStruct.modelPar_WAVL*xi_w1)*xi_w1);
}
{
double value_sqrt_0 = sqrt(((xd*xd)+(Weff*Weff)));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_Wd_dX = ((value_sqrt_0*(xd*d_Weff_dX+d_xd_dX*Weff)-(xd*Weff)*deriv_sqrt_0_d0*(((xd*d_xd_dX+d_xd_dX*xd)+(Weff*d_Weff_dX+d_Weff_dX*Weff))))/value_sqrt_0/value_sqrt_0);
Wd = ((xd*Weff)/value_sqrt_0);
}
d_Eav_dX = ((Wd*(instanceStruct.d_instanceVar_VDC_T_dX-d_Vb2c1_dX)-(instanceStruct.instanceVar_VDC_T-Vb2c1)*d_Wd_dX)/Wd/Wd);
Eav = ((instanceStruct.instanceVar_VDC_T-Vb2c1)/Wd);
d_E0_dX = (d_Eav_dX+(((0.5*Wd)*dEdx0)*d_Icap_IHC_dX+((0.5*Wd)*d_dEdx0_dX+0.5*d_Wd_dX*dEdx0)*Icap_IHC));
E0 = (Eav+(((0.5*Wd)*dEdx0)*Icap_IHC));
if ((modelStruct.modelPar_EXAVL==0))
{
d_Em_dX = d_E0_dX;
Em = E0;
}
else
{
d_SHw_dX = ((2.0*modelStruct.modelPar_SFH)*2.0*d_xi_w_dX+2.0*modelStruct.d_modelPar_SFH_dX*(1.0+(2.0*xi_w)));
SHw = (1.0+((2.0*modelStruct.modelPar_SFH)*(1.0+(2.0*xi_w))));
d_Efi_dX = (((1.0+(2.0*modelStruct.modelPar_SFH))*modelStruct.d_modelPar_SFH_dX-(1.0+modelStruct.modelPar_SFH)*2.0*modelStruct.d_modelPar_SFH_dX)/(1.0+(2.0*modelStruct.modelPar_SFH))/(1.0+(2.0*modelStruct.modelPar_SFH)));
Efi = ((1.0+modelStruct.modelPar_SFH)/(1.0+(2.0*modelStruct.modelPar_SFH)));
d_Ew_dX = (d_Eav_dX-(((0.5*Wd)*dEdx0)*(d_Efi_dX-(((instanceStruct.instanceVar_IHC_M*SHw)*d_Ic1c2_dX-Ic1c2*(instanceStruct.instanceVar_IHC_M*d_SHw_dX+instanceStruct.d_instanceVar_IHC_M_dX*SHw))/(instanceStruct.instanceVar_IHC_M*SHw)/(instanceStruct.instanceVar_IHC_M*SHw)))+((0.5*Wd)*d_dEdx0_dX+0.5*d_Wd_dX*dEdx0)*(Efi-(Ic1c2/(instanceStruct.instanceVar_IHC_M*SHw)))));
Ew = (Eav-(((0.5*Wd)*dEdx0)*(Efi-(Ic1c2/(instanceStruct.instanceVar_IHC_M*SHw)))));
d_sqr_arg_dX = (((Ew-E0)*(d_Ew_dX-d_E0_dX)+(d_Ew_dX-d_E0_dX)*(Ew-E0))+((instanceStruct.instanceVar_IHC_M*(((0.1*Eav)*Eav)*d_Icap_dX+((0.1*Eav)*d_Eav_dX+0.1*d_Eav_dX*Eav)*Icap)-(((0.1*Eav)*Eav)*Icap)*instanceStruct.d_instanceVar_IHC_M_dX)/instanceStruct.instanceVar_IHC_M/instanceStruct.instanceVar_IHC_M));
sqr_arg = (((Ew-E0)*(Ew-E0))+((((0.1*Eav)*Eav)*Icap)/instanceStruct.instanceVar_IHC_M));
{
double value_sqrt_0 = sqrt(sqr_arg);
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_Em_dX = 0.5*((d_Ew_dX+d_E0_dX)+deriv_sqrt_0_d0*(d_sqr_arg_dX));
Em = (0.5*((Ew+E0)+value_sqrt_0));
}
}
d_EmEav_Em_dX = ((Em*(d_Em_dX-d_Eav_dX)-(Em-Eav)*d_Em_dX)/Em/Em);
EmEav_Em = ((Em-Eav)/Em);
if ((fabs(EmEav_Em)>1.0e-7))
{
d_lambda_dX = ((EmEav_Em*0.5*d_Wd_dX-(0.5*Wd)*d_EmEav_Em_dX)/EmEav_Em/EmEav_Em);
lambda = ((0.5*Wd)/EmEav_Em);
{
double value_exp_0 = exp(((-instanceStruct.instanceVar_BnT)/Em));
double value_exp_1 = exp((((-instanceStruct.instanceVar_BnT)/Em)*(1.0+(Weff/lambda))));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_exp_1_d0 = value_exp_1;
d_Gem_dX = ((((instanceStruct.instanceVar_An/instanceStruct.instanceVar_BnT)*Em)*lambda)*(deriv_exp_0_d0*(((Em*(-instanceStruct.d_instanceVar_BnT_dX)-(-instanceStruct.instanceVar_BnT)*d_Em_dX)/Em/Em))-deriv_exp_1_d0*((((-instanceStruct.instanceVar_BnT)/Em)*((lambda*d_Weff_dX-Weff*d_lambda_dX)/lambda/lambda)+((Em*(-instanceStruct.d_instanceVar_BnT_dX)-(-instanceStruct.instanceVar_BnT)*d_Em_dX)/Em/Em)*(1.0+(Weff/lambda)))))+(((instanceStruct.instanceVar_An/instanceStruct.instanceVar_BnT)*Em)*d_lambda_dX+((instanceStruct.instanceVar_An/instanceStruct.instanceVar_BnT)*d_Em_dX+(-instanceStruct.instanceVar_An*instanceStruct.d_instanceVar_BnT_dX/instanceStruct.instanceVar_BnT/instanceStruct.instanceVar_BnT)*Em)*lambda)*(value_exp_0-value_exp_1));
Gem = ((((instanceStruct.instanceVar_An/instanceStruct.instanceVar_BnT)*Em)*lambda)*(value_exp_0-value_exp_1));
}
}
else
{
{
double value_exp_0 = exp(((-instanceStruct.instanceVar_BnT)/Em));
double  deriv_exp_0_d0 = value_exp_0;
d_Gem_dX = ((instanceStruct.instanceVar_An*Weff)*deriv_exp_0_d0*(((Em*(-instanceStruct.d_instanceVar_BnT_dX)-(-instanceStruct.instanceVar_BnT)*d_Em_dX)/Em/Em))+instanceStruct.instanceVar_An*d_Weff_dX*value_exp_0);
Gem = ((instanceStruct.instanceVar_An*Weff)*value_exp_0);
}
}
d_Gmax_dX = (((((Ic1c2*(instanceStruct.instanceVar_RBC_TM+Rb2))*instanceStruct.d_instanceVar_Vt_dX-instanceStruct.instanceVar_Vt*(Ic1c2*(instanceStruct.d_instanceVar_RBC_TM_dX+d_Rb2_dX)+d_Ic1c2_dX*(instanceStruct.instanceVar_RBC_TM+Rb2)))/(Ic1c2*(instanceStruct.instanceVar_RBC_TM+Rb2))/(Ic1c2*(instanceStruct.instanceVar_RBC_TM+Rb2)))+((instanceStruct.instanceVar_BF_T*d_qBI_dX-qBI*instanceStruct.d_instanceVar_BF_T_dX)/instanceStruct.instanceVar_BF_T/instanceStruct.instanceVar_BF_T))+(((instanceStruct.instanceVar_RBC_TM+Rb2)*instanceStruct.d_instanceVar_RE_TM_dX-instanceStruct.instanceVar_RE_TM*(instanceStruct.d_instanceVar_RBC_TM_dX+d_Rb2_dX))/(instanceStruct.instanceVar_RBC_TM+Rb2)/(instanceStruct.instanceVar_RBC_TM+Rb2)));
Gmax = (((instanceStruct.instanceVar_Vt/(Ic1c2*(instanceStruct.instanceVar_RBC_TM+Rb2)))+(qBI/instanceStruct.instanceVar_BF_T))+(instanceStruct.instanceVar_RE_TM/(instanceStruct.instanceVar_RBC_TM+Rb2)));
d_Iavl_dX = ((((Gem+(Gem/Gmax))+1.0)*(Ic1c2*d_Gem_dX+d_Ic1c2_dX*Gem)-(Ic1c2*Gem)*(d_Gem_dX+((Gmax*d_Gem_dX-Gem*d_Gmax_dX)/Gmax/Gmax)))/((Gem+(Gem/Gmax))+1.0)/((Gem+(Gem/Gmax))+1.0));
Iavl = ((Ic1c2*Gem)/((Gem+(Gem/Gmax))+1.0));
}
if ((eVb2c2star>0.0))
{
{
double value_log_0 = log(eVb2c2star);
double  deriv_log_0_d0 = (1.0/eVb2c2star);
d_Vb2c2star_dX = (instanceStruct.instanceVar_Vt*deriv_log_0_d0*(d_eVb2c2star_dX)+instanceStruct.d_instanceVar_Vt_dX*value_log_0);
Vb2c2star = (instanceStruct.instanceVar_Vt*value_log_0);
}
}
else
{
d_Vb2c2star_dX = d_Vb2c2_dX;
Vb2c2star = Vb2c2;
}
d_Qte_dX = (((1.0-modelStruct.modelPar_XCJE)*instanceStruct.instanceVar_CJE_TM)*d_Vte_dX+((1.0-modelStruct.modelPar_XCJE)*instanceStruct.d_instanceVar_CJE_TM_dX+(-modelStruct.d_modelPar_XCJE_dX)*instanceStruct.instanceVar_CJE_TM)*Vte);
Qte = (((1.0-modelStruct.modelPar_XCJE)*instanceStruct.instanceVar_CJE_TM)*Vte);
instanceStruct.d_instanceVar_dxa_dX = ((a_VDE*(d_Vb1e1_dX-d_Vfe_dX)-(Vb1e1-Vfe)*d_a_VDE_dX)/a_VDE/a_VDE);
instanceStruct.instanceVar_dxa = ((Vb1e1-Vfe)/a_VDE);
if ((Vb1e1<Vfe))
{
{
double value_exp_0 = exp(instanceStruct.instanceVar_dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
d_Vje_s_dX = (d_Vb1e1_dX-(a_VDE*deriv_log_1_d0*(deriv_exp_0_d0*(instanceStruct.d_instanceVar_dxa_dX))+d_a_VDE_dX*value_log_1));
Vje_s = (Vb1e1-(a_VDE*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-instanceStruct.instanceVar_dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
d_Vje_s_dX = (d_Vfe_dX-(a_VDE*deriv_log_1_d0*(deriv_exp_0_d0*((-instanceStruct.d_instanceVar_dxa_dX)))+d_a_VDE_dX*value_log_1));
Vje_s = (Vfe-(a_VDE*value_log_1));
}
}
{
double value_pow_0 = pow((1.0-(Vje_s*instanceStruct.instanceVar_inv_VDE_T)),(1.0-modelStruct.modelPar_PE));
double  deriv_pow_0_d0 = (((1.0-(Vje_s*instanceStruct.instanceVar_inv_VDE_T)) == 0.0)?0.0:(value_pow_0*(1.0-modelStruct.modelPar_PE)/(1.0-(Vje_s*instanceStruct.instanceVar_inv_VDE_T))));
double  deriv_pow_0_d1 = ((1.0-(Vje_s*instanceStruct.instanceVar_inv_VDE_T)) == 0.0)?0.0:(log((1.0-(Vje_s*instanceStruct.instanceVar_inv_VDE_T)))*value_pow_0);
d_Qte_s_dX = ((modelStruct.modelPar_XCJE*instanceStruct.instanceVar_CJE_TM)*(((instanceStruct.instanceVar_VDE_T/(1.0-modelStruct.modelPar_PE))*(-((deriv_pow_0_d0*((-(Vje_s*instanceStruct.d_instanceVar_inv_VDE_T_dX+d_Vje_s_dX*instanceStruct.instanceVar_inv_VDE_T))))+(deriv_pow_0_d1*((-modelStruct.d_modelPar_PE_dX)))))+(((1.0-modelStruct.modelPar_PE)*instanceStruct.d_instanceVar_VDE_T_dX-instanceStruct.instanceVar_VDE_T*(-modelStruct.d_modelPar_PE_dX))/(1.0-modelStruct.modelPar_PE)/(1.0-modelStruct.modelPar_PE))*(1.0-value_pow_0))+3.0*(d_Vb1e1_dX-d_Vje_s_dX))+(modelStruct.modelPar_XCJE*instanceStruct.d_instanceVar_CJE_TM_dX+modelStruct.d_modelPar_XCJE_dX*instanceStruct.instanceVar_CJE_TM)*(((instanceStruct.instanceVar_VDE_T/(1.0-modelStruct.modelPar_PE))*(1.0-value_pow_0))+(3.0*(Vb1e1-Vje_s))));
Qte_s = ((modelStruct.modelPar_XCJE*instanceStruct.instanceVar_CJE_TM)*(((instanceStruct.instanceVar_VDE_T/(1.0-modelStruct.modelPar_PE))*(1.0-value_pow_0))+(3.0*(Vb1e1-Vje_s))));
}
d_Qtc_dX = ((modelStruct.modelPar_XCJC*instanceStruct.instanceVar_CJC_TM)*d_Vtc_dX+(modelStruct.modelPar_XCJC*instanceStruct.d_instanceVar_CJC_TM_dX+modelStruct.d_modelPar_XCJC_dX*instanceStruct.instanceVar_CJC_TM)*Vtc);
Qtc = ((modelStruct.modelPar_XCJC*instanceStruct.instanceVar_CJC_TM)*Vtc);
d_Qb0_dX = (instanceStruct.instanceVar_TAUB_T*instanceStruct.d_instanceVar_IK_TM_dX+instanceStruct.d_instanceVar_TAUB_T_dX*instanceStruct.instanceVar_IK_TM);
Qb0 = (instanceStruct.instanceVar_TAUB_T*instanceStruct.instanceVar_IK_TM);
d_Qbe_qs_dX = (((0.5*Qb0)*n0)*d_q1Q_dX+((0.5*Qb0)*d_n0_dX+0.5*d_Qb0_dX*n0)*q1Q);
Qbe_qs = (((0.5*Qb0)*n0)*q1Q);
d_Qbc_qs_dX = (((0.5*Qb0)*nB)*d_q1Q_dX+((0.5*Qb0)*d_nB_dX+0.5*d_Qb0_dX*nB)*q1Q);
Qbc_qs = (((0.5*Qb0)*nB)*q1Q);
d_a_VDC_dX = 0.1*instanceStruct.d_instanceVar_VDC_T_dX;
a_VDC = (0.1*instanceStruct.instanceVar_VDC_T);
instanceStruct.d_instanceVar_dxa_dX = ((a_VDC*(d_Vb1c4_dX-d_Vfc_dX)-(Vb1c4-Vfc)*d_a_VDC_dX)/a_VDC/a_VDC);
instanceStruct.instanceVar_dxa = ((Vb1c4-Vfc)/a_VDC);
if ((Vb1c4<Vfc))
{
{
double value_exp_0 = exp(instanceStruct.instanceVar_dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
d_Vjcex_dX = (d_Vb1c4_dX-(a_VDC*deriv_log_1_d0*(deriv_exp_0_d0*(instanceStruct.d_instanceVar_dxa_dX))+d_a_VDC_dX*value_log_1));
Vjcex = (Vb1c4-(a_VDC*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-instanceStruct.instanceVar_dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
d_Vjcex_dX = (d_Vfc_dX-(a_VDC*deriv_log_1_d0*(deriv_exp_0_d0*((-instanceStruct.d_instanceVar_dxa_dX)))+d_a_VDC_dX*value_log_1));
Vjcex = (Vfc-(a_VDC*value_log_1));
}
}
{
double value_pow_0 = pow((1.0-(Vjcex/instanceStruct.instanceVar_VDC_T)),(1.0-modelStruct.modelPar_PC));
double  deriv_pow_0_d0 = (((1.0-(Vjcex/instanceStruct.instanceVar_VDC_T)) == 0.0)?0.0:(value_pow_0*(1.0-modelStruct.modelPar_PC)/(1.0-(Vjcex/instanceStruct.instanceVar_VDC_T))));
double  deriv_pow_0_d1 = ((1.0-(Vjcex/instanceStruct.instanceVar_VDC_T)) == 0.0)?0.0:(log((1.0-(Vjcex/instanceStruct.instanceVar_VDC_T)))*value_pow_0);
d_Vtexv_dX = (((instanceStruct.instanceVar_VDC_T/(1.0-modelStruct.modelPar_PC))*(-((deriv_pow_0_d0*((-((instanceStruct.instanceVar_VDC_T*d_Vjcex_dX-Vjcex*instanceStruct.d_instanceVar_VDC_T_dX)/instanceStruct.instanceVar_VDC_T/instanceStruct.instanceVar_VDC_T))))+(deriv_pow_0_d1*((-modelStruct.d_modelPar_PC_dX)))))+(((1.0-modelStruct.modelPar_PC)*instanceStruct.d_instanceVar_VDC_T_dX-instanceStruct.instanceVar_VDC_T*(-modelStruct.d_modelPar_PC_dX))/(1.0-modelStruct.modelPar_PC)/(1.0-modelStruct.modelPar_PC))*(1.0-value_pow_0))+(bjc*(d_Vb1c4_dX-d_Vjcex_dX)+d_bjc_dX*(Vb1c4-Vjcex)));
Vtexv = (((instanceStruct.instanceVar_VDC_T/(1.0-modelStruct.modelPar_PC))*(1.0-value_pow_0))+(bjc*(Vb1c4-Vjcex)));
}
d_Qtex_dX = (((instanceStruct.instanceVar_CJC_TM*(((1.0-instanceStruct.instanceVar_XP_T)*Vtexv)+(instanceStruct.instanceVar_XP_T*Vb1c4)))*(1.0-modelStruct.modelPar_XCJC))*(-modelStruct.d_modelPar_XEXT_dX)+((instanceStruct.instanceVar_CJC_TM*(((1.0-instanceStruct.instanceVar_XP_T)*Vtexv)+(instanceStruct.instanceVar_XP_T*Vb1c4)))*(-modelStruct.d_modelPar_XCJC_dX)+(instanceStruct.instanceVar_CJC_TM*(((1.0-instanceStruct.instanceVar_XP_T)*d_Vtexv_dX+(-instanceStruct.d_instanceVar_XP_T_dX)*Vtexv)+(instanceStruct.instanceVar_XP_T*d_Vb1c4_dX+instanceStruct.d_instanceVar_XP_T_dX*Vb1c4))+instanceStruct.d_instanceVar_CJC_TM_dX*(((1.0-instanceStruct.instanceVar_XP_T)*Vtexv)+(instanceStruct.instanceVar_XP_T*Vb1c4)))*(1.0-modelStruct.modelPar_XCJC))*(1.0-modelStruct.modelPar_XEXT));
Qtex = (((instanceStruct.instanceVar_CJC_TM*(((1.0-instanceStruct.instanceVar_XP_T)*Vtexv)+(instanceStruct.instanceVar_XP_T*Vb1c4)))*(1.0-modelStruct.modelPar_XCJC))*(1.0-modelStruct.modelPar_XEXT));
instanceStruct.d_instanceVar_dxa_dX = ((a_VDC*(d_Vbc3_dX-d_Vfc_dX)-(Vbc3-Vfc)*d_a_VDC_dX)/a_VDC/a_VDC);
instanceStruct.instanceVar_dxa = ((Vbc3-Vfc)/a_VDC);
if ((Vbc3<Vfc))
{
{
double value_exp_0 = exp(instanceStruct.instanceVar_dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
d_XVjcex_dX = (d_Vbc3_dX-(a_VDC*deriv_log_1_d0*(deriv_exp_0_d0*(instanceStruct.d_instanceVar_dxa_dX))+d_a_VDC_dX*value_log_1));
XVjcex = (Vbc3-(a_VDC*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-instanceStruct.instanceVar_dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
d_XVjcex_dX = (d_Vfc_dX-(a_VDC*deriv_log_1_d0*(deriv_exp_0_d0*((-instanceStruct.d_instanceVar_dxa_dX)))+d_a_VDC_dX*value_log_1));
XVjcex = (Vfc-(a_VDC*value_log_1));
}
}
{
double value_pow_0 = pow((1.0-(XVjcex/instanceStruct.instanceVar_VDC_T)),(1.0-modelStruct.modelPar_PC));
double  deriv_pow_0_d0 = (((1.0-(XVjcex/instanceStruct.instanceVar_VDC_T)) == 0.0)?0.0:(value_pow_0*(1.0-modelStruct.modelPar_PC)/(1.0-(XVjcex/instanceStruct.instanceVar_VDC_T))));
double  deriv_pow_0_d1 = ((1.0-(XVjcex/instanceStruct.instanceVar_VDC_T)) == 0.0)?0.0:(log((1.0-(XVjcex/instanceStruct.instanceVar_VDC_T)))*value_pow_0);
d_XVtexv_dX = (((instanceStruct.instanceVar_VDC_T/(1.0-modelStruct.modelPar_PC))*(-((deriv_pow_0_d0*((-((instanceStruct.instanceVar_VDC_T*d_XVjcex_dX-XVjcex*instanceStruct.d_instanceVar_VDC_T_dX)/instanceStruct.instanceVar_VDC_T/instanceStruct.instanceVar_VDC_T))))+(deriv_pow_0_d1*((-modelStruct.d_modelPar_PC_dX)))))+(((1.0-modelStruct.modelPar_PC)*instanceStruct.d_instanceVar_VDC_T_dX-instanceStruct.instanceVar_VDC_T*(-modelStruct.d_modelPar_PC_dX))/(1.0-modelStruct.modelPar_PC)/(1.0-modelStruct.modelPar_PC))*(1.0-value_pow_0))+(bjc*(d_Vbc3_dX-d_XVjcex_dX)+d_bjc_dX*(Vbc3-XVjcex)));
XVtexv = (((instanceStruct.instanceVar_VDC_T/(1.0-modelStruct.modelPar_PC))*(1.0-value_pow_0))+(bjc*(Vbc3-XVjcex)));
}
d_XQtex_dX = (((instanceStruct.instanceVar_CJC_TM*(((1.0-instanceStruct.instanceVar_XP_T)*XVtexv)+(instanceStruct.instanceVar_XP_T*Vbc3)))*(1.0-modelStruct.modelPar_XCJC))*modelStruct.d_modelPar_XEXT_dX+((instanceStruct.instanceVar_CJC_TM*(((1.0-instanceStruct.instanceVar_XP_T)*XVtexv)+(instanceStruct.instanceVar_XP_T*Vbc3)))*(-modelStruct.d_modelPar_XCJC_dX)+(instanceStruct.instanceVar_CJC_TM*(((1.0-instanceStruct.instanceVar_XP_T)*d_XVtexv_dX+(-instanceStruct.d_instanceVar_XP_T_dX)*XVtexv)+(instanceStruct.instanceVar_XP_T*d_Vbc3_dX+instanceStruct.d_instanceVar_XP_T_dX*Vbc3))+instanceStruct.d_instanceVar_CJC_TM_dX*(((1.0-instanceStruct.instanceVar_XP_T)*XVtexv)+(instanceStruct.instanceVar_XP_T*Vbc3)))*(1.0-modelStruct.modelPar_XCJC))*modelStruct.modelPar_XEXT);
XQtex = (((instanceStruct.instanceVar_CJC_TM*(((1.0-instanceStruct.instanceVar_XP_T)*XVtexv)+(instanceStruct.instanceVar_XP_T*Vbc3)))*(1.0-modelStruct.modelPar_XCJC))*modelStruct.modelPar_XEXT);
d_a_VDS_dX = 0.1*instanceStruct.d_instanceVar_VDS_T_dX;
a_VDS = (0.1*instanceStruct.instanceVar_VDS_T);
{
double value_pow_0 = pow(2.0,((-1.0)/modelStruct.modelPar_PS));
double  deriv_pow_0_d1 = (2.0 == 0.0)?0.0:(log(2.0)*value_pow_0);
d_Vfs_dX = (instanceStruct.instanceVar_VDS_T*(-(deriv_pow_0_d1*((-(-1.0)*modelStruct.d_modelPar_PS_dX/modelStruct.modelPar_PS/modelStruct.modelPar_PS))))+instanceStruct.d_instanceVar_VDS_T_dX*(1.0-value_pow_0));
Vfs = (instanceStruct.instanceVar_VDS_T*(1.0-value_pow_0));
}
instanceStruct.d_instanceVar_dxa_dX = ((a_VDS*(d_Vsc1_dX-d_Vfs_dX)-(Vsc1-Vfs)*d_a_VDS_dX)/a_VDS/a_VDS);
instanceStruct.instanceVar_dxa = ((Vsc1-Vfs)/a_VDS);
if ((Vsc1<Vfs))
{
{
double value_exp_0 = exp(instanceStruct.instanceVar_dxa);
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
d_Vjs_dX = (d_Vsc1_dX-(a_VDS*deriv_log_1_d0*(deriv_exp_0_d0*(instanceStruct.d_instanceVar_dxa_dX))+d_a_VDS_dX*value_log_1));
Vjs = (Vsc1-(a_VDS*value_log_1));
}
}
else
{
{
double value_exp_0 = exp((-instanceStruct.instanceVar_dxa));
double value_log_1 = log((1.0+value_exp_0));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_log_1_d0 = (1.0/(1.0+value_exp_0));
d_Vjs_dX = (d_Vfs_dX-(a_VDS*deriv_log_1_d0*(deriv_exp_0_d0*((-instanceStruct.d_instanceVar_dxa_dX)))+d_a_VDS_dX*value_log_1));
Vjs = (Vfs-(a_VDS*value_log_1));
}
}
{
double value_pow_0 = pow((1.0-(Vjs/instanceStruct.instanceVar_VDS_T)),(1.0-modelStruct.modelPar_PS));
double  deriv_pow_0_d0 = (((1.0-(Vjs/instanceStruct.instanceVar_VDS_T)) == 0.0)?0.0:(value_pow_0*(1.0-modelStruct.modelPar_PS)/(1.0-(Vjs/instanceStruct.instanceVar_VDS_T))));
double  deriv_pow_0_d1 = ((1.0-(Vjs/instanceStruct.instanceVar_VDS_T)) == 0.0)?0.0:(log((1.0-(Vjs/instanceStruct.instanceVar_VDS_T)))*value_pow_0);
d_Qts_dX = (instanceStruct.instanceVar_CJS_TM*(((instanceStruct.instanceVar_VDS_T/(1.0-modelStruct.modelPar_PS))*(-((deriv_pow_0_d0*((-((instanceStruct.instanceVar_VDS_T*d_Vjs_dX-Vjs*instanceStruct.d_instanceVar_VDS_T_dX)/instanceStruct.instanceVar_VDS_T/instanceStruct.instanceVar_VDS_T))))+(deriv_pow_0_d1*((-modelStruct.d_modelPar_PS_dX)))))+(((1.0-modelStruct.modelPar_PS)*instanceStruct.d_instanceVar_VDS_T_dX-instanceStruct.instanceVar_VDS_T*(-modelStruct.d_modelPar_PS_dX))/(1.0-modelStruct.modelPar_PS)/(1.0-modelStruct.modelPar_PS))*(1.0-value_pow_0))+2.0*(d_Vsc1_dX-d_Vjs_dX))+instanceStruct.d_instanceVar_CJS_TM_dX*(((instanceStruct.instanceVar_VDS_T/(1.0-modelStruct.modelPar_PS))*(1.0-value_pow_0))+(2.0*(Vsc1-Vjs))));
Qts = (instanceStruct.instanceVar_CJS_TM*(((instanceStruct.instanceVar_VDS_T/(1.0-modelStruct.modelPar_PS))*(1.0-value_pow_0))+(2.0*(Vsc1-Vjs))));
}
{
double value_pow_0 = pow((instanceStruct.instanceVar_IS_TM/instanceStruct.instanceVar_IK_TM),(1.0/modelStruct.modelPar_MTAU));
double  deriv_pow_0_d0 = (((instanceStruct.instanceVar_IS_TM/instanceStruct.instanceVar_IK_TM) == 0.0)?0.0:(value_pow_0*(1.0/modelStruct.modelPar_MTAU)/(instanceStruct.instanceVar_IS_TM/instanceStruct.instanceVar_IK_TM)));
double  deriv_pow_0_d1 = ((instanceStruct.instanceVar_IS_TM/instanceStruct.instanceVar_IK_TM) == 0.0)?0.0:(log((instanceStruct.instanceVar_IS_TM/instanceStruct.instanceVar_IK_TM))*value_pow_0);
d_Qe0_dX = ((instanceStruct.instanceVar_TAUE_T*instanceStruct.instanceVar_IK_TM)*((deriv_pow_0_d0*(((instanceStruct.instanceVar_IK_TM*instanceStruct.d_instanceVar_IS_TM_dX-instanceStruct.instanceVar_IS_TM*instanceStruct.d_instanceVar_IK_TM_dX)/instanceStruct.instanceVar_IK_TM/instanceStruct.instanceVar_IK_TM)))+(deriv_pow_0_d1*((-modelStruct.d_modelPar_MTAU_dX/modelStruct.modelPar_MTAU/modelStruct.modelPar_MTAU))))+(instanceStruct.instanceVar_TAUE_T*instanceStruct.d_instanceVar_IK_TM_dX+instanceStruct.d_instanceVar_TAUE_T_dX*instanceStruct.instanceVar_IK_TM)*value_pow_0);
Qe0 = ((instanceStruct.instanceVar_TAUE_T*instanceStruct.instanceVar_IK_TM)*value_pow_0);
}
if (((Vb2e1/(modelStruct.modelPar_MTAU*instanceStruct.instanceVar_Vt))<400.0))
{
{
double value_exp_0 = exp((Vb2e1/(modelStruct.modelPar_MTAU*instanceStruct.instanceVar_Vt)));
double  deriv_exp_0_d0 = value_exp_0;
d_tmpExp_dX = deriv_exp_0_d0*((((modelStruct.modelPar_MTAU*instanceStruct.instanceVar_Vt)*d_Vb2e1_dX-Vb2e1*(modelStruct.modelPar_MTAU*instanceStruct.d_instanceVar_Vt_dX+modelStruct.d_modelPar_MTAU_dX*instanceStruct.instanceVar_Vt))/(modelStruct.modelPar_MTAU*instanceStruct.instanceVar_Vt)/(modelStruct.modelPar_MTAU*instanceStruct.instanceVar_Vt)));
tmpExp = value_exp_0;
}
}
else
{
{
double value_exp_0 = exp(400.0);
expl = value_exp_0;
}
d_tmpExp_dX = expl*(((modelStruct.modelPar_MTAU*instanceStruct.instanceVar_Vt)*d_Vb2e1_dX-Vb2e1*(modelStruct.modelPar_MTAU*instanceStruct.d_instanceVar_Vt_dX+modelStruct.d_modelPar_MTAU_dX*instanceStruct.instanceVar_Vt))/(modelStruct.modelPar_MTAU*instanceStruct.instanceVar_Vt)/(modelStruct.modelPar_MTAU*instanceStruct.instanceVar_Vt));
tmpExp = (expl*(1.0+((Vb2e1/(modelStruct.modelPar_MTAU*instanceStruct.instanceVar_Vt))-400.0)));
}
d_Qe_qs_dX = (Qe0*d_tmpExp_dX+d_Qe0_dX*tmpExp);
Qe_qs = (Qe0*tmpExp);
d_Qepi0_dX = ((instanceStruct.instanceVar_RCV_TM*((4.0*instanceStruct.instanceVar_TEPI_T)*instanceStruct.d_instanceVar_Vt_dX+4.0*instanceStruct.d_instanceVar_TEPI_T_dX*instanceStruct.instanceVar_Vt)-((4.0*instanceStruct.instanceVar_TEPI_T)*instanceStruct.instanceVar_Vt)*instanceStruct.d_instanceVar_RCV_TM_dX)/instanceStruct.instanceVar_RCV_TM/instanceStruct.instanceVar_RCV_TM);
Qepi0 = (((4.0*instanceStruct.instanceVar_TEPI_T)*instanceStruct.instanceVar_Vt)/instanceStruct.instanceVar_RCV_TM);
d_Qepi_dX = (((0.5*Qepi0)*xi_w)*(d_p0star_dX+d_pW_dX)+((0.5*Qepi0)*d_xi_w_dX+0.5*d_Qepi0_dX*xi_w)*((p0star+pW)+2.0));
Qepi = (((0.5*Qepi0)*xi_w)*((p0star+pW)+2.0));
d_Qex_dX = (((instanceStruct.instanceVar_TAUB_T+instanceStruct.instanceVar_TEPI_T)*((instanceStruct.instanceVar_TAUR_T*0.5)*((Qb0*d_nBex_dX+d_Qb0_dX*nBex)+(Qepi0*d_pWex_dX+d_Qepi0_dX*pWex))+instanceStruct.d_instanceVar_TAUR_T_dX*0.5*((Qb0*nBex)+(Qepi0*pWex)))-((instanceStruct.instanceVar_TAUR_T*0.5)*((Qb0*nBex)+(Qepi0*pWex)))*(instanceStruct.d_instanceVar_TAUB_T_dX+instanceStruct.d_instanceVar_TEPI_T_dX))/(instanceStruct.instanceVar_TAUB_T+instanceStruct.instanceVar_TEPI_T)/(instanceStruct.instanceVar_TAUB_T+instanceStruct.instanceVar_TEPI_T));
Qex = (((instanceStruct.instanceVar_TAUR_T*0.5)*((Qb0*nBex)+(Qepi0*pWex)))/(instanceStruct.instanceVar_TAUB_T+instanceStruct.instanceVar_TEPI_T));
d_XQex_dX = 0.0;
XQex = 0.0;
if ((modelStruct.modelPar_EXMOD==1))
{
d_Qex_dX = (Qex*(-modelStruct.d_modelPar_XEXT_dX)+d_Qex_dX*(1.0-modelStruct.modelPar_XEXT));
Qex = (Qex*(1.0-modelStruct.modelPar_XEXT));
d_Xg2_dX = 4.0*d_eVbc3VDC_dX;
Xg2 = (4.0*eVbc3VDC);
{
double value_sqrt_0 = sqrt((1.0+Xg2));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_XpWex_dX = (((1.0+value_sqrt_0)*d_Xg2_dX-Xg2*deriv_sqrt_0_d0*(d_Xg2_dX))/(1.0+value_sqrt_0)/(1.0+value_sqrt_0));
XpWex = (Xg2/(1.0+value_sqrt_0));
}
d_XQex_dX = (((instanceStruct.instanceVar_TAUB_T+instanceStruct.instanceVar_TEPI_T)*((((0.5*Fex)*modelStruct.modelPar_XEXT)*instanceStruct.instanceVar_TAUR_T)*((Qb0*d_XnBex_dX+d_Qb0_dX*XnBex)+(Qepi0*d_XpWex_dX+d_Qepi0_dX*XpWex))+(((0.5*Fex)*modelStruct.modelPar_XEXT)*instanceStruct.d_instanceVar_TAUR_T_dX+((0.5*Fex)*modelStruct.d_modelPar_XEXT_dX+0.5*d_Fex_dX*modelStruct.modelPar_XEXT)*instanceStruct.instanceVar_TAUR_T)*((Qb0*XnBex)+(Qepi0*XpWex)))-((((0.5*Fex)*modelStruct.modelPar_XEXT)*instanceStruct.instanceVar_TAUR_T)*((Qb0*XnBex)+(Qepi0*XpWex)))*(instanceStruct.d_instanceVar_TAUB_T_dX+instanceStruct.d_instanceVar_TEPI_T_dX))/(instanceStruct.instanceVar_TAUB_T+instanceStruct.instanceVar_TEPI_T)/(instanceStruct.instanceVar_TAUB_T+instanceStruct.instanceVar_TEPI_T));
XQex = (((((0.5*Fex)*modelStruct.modelPar_XEXT)*instanceStruct.instanceVar_TAUR_T)*((Qb0*XnBex)+(Qepi0*XpWex)))/(instanceStruct.instanceVar_TAUB_T+instanceStruct.instanceVar_TEPI_T));
}
d_Qb1b2_dX = 0.0;
Qb1b2 = 0.0;
if ((modelStruct.modelPar_EXPHI==1))
{
{
double value_pow_0 = pow((1.0-(Vje*instanceStruct.instanceVar_inv_VDE_T)),(-modelStruct.modelPar_PE));
double  deriv_pow_0_d0 = (((1.0-(Vje*instanceStruct.instanceVar_inv_VDE_T)) == 0.0)?0.0:(value_pow_0*(-modelStruct.modelPar_PE)/(1.0-(Vje*instanceStruct.instanceVar_inv_VDE_T))));
double  deriv_pow_0_d1 = ((1.0-(Vje*instanceStruct.instanceVar_inv_VDE_T)) == 0.0)?0.0:(log((1.0-(Vje*instanceStruct.instanceVar_inv_VDE_T)))*value_pow_0);
d_dVteVje_dX = ((deriv_pow_0_d0*((-(Vje*instanceStruct.d_instanceVar_inv_VDE_T_dX+d_Vje_dX*instanceStruct.instanceVar_inv_VDE_T))))+(deriv_pow_0_d1*((-modelStruct.d_modelPar_PE_dX))));
dVteVje = (value_pow_0-3.0);
}
d_Vb2e1Vfe_dX = ((a_VDE*(d_Vb2e1_dX-d_Vfe_dX)-(Vb2e1-Vfe)*d_a_VDE_dX)/a_VDE/a_VDE);
Vb2e1Vfe = ((Vb2e1-Vfe)/a_VDE);
if ((Vb2e1Vfe<0.0))
{
{
double value_exp_0 = exp(Vb2e1Vfe);
double  deriv_exp_0_d0 = value_exp_0;
d_dVjeVb2e1_dX = (-deriv_exp_0_d0*(d_Vb2e1Vfe_dX)/(1.0+value_exp_0)/(1.0+value_exp_0));
dVjeVb2e1 = (1.0/(1.0+value_exp_0));
}
}
else
{
{
double value_exp_0 = exp((-Vb2e1Vfe));
double value_exp_1 = exp((-Vb2e1Vfe));
double  deriv_exp_0_d0 = value_exp_0;
double  deriv_exp_1_d0 = value_exp_1;
d_dVjeVb2e1_dX = (((1.0+value_exp_1)*deriv_exp_0_d0*((-d_Vb2e1Vfe_dX))-value_exp_0*deriv_exp_1_d0*((-d_Vb2e1Vfe_dX)))/(1.0+value_exp_1)/(1.0+value_exp_1));
dVjeVb2e1 = (value_exp_0/(1.0+value_exp_1));
}
}
d_dVteVb2e1_dX = (dVteVje*d_dVjeVb2e1_dX+d_dVteVje_dX*dVjeVb2e1);
dVteVb2e1 = ((dVteVje*dVjeVb2e1)+3.0);
d_dQteVb2e1_dX = (((1.0-modelStruct.modelPar_XCJE)*instanceStruct.instanceVar_CJE_TM)*d_dVteVb2e1_dX+((1.0-modelStruct.modelPar_XCJE)*instanceStruct.d_instanceVar_CJE_TM_dX+(-modelStruct.d_modelPar_XCJE_dX)*instanceStruct.instanceVar_CJE_TM)*dVteVb2e1);
dQteVb2e1 = (((1.0-modelStruct.modelPar_XCJE)*instanceStruct.instanceVar_CJE_TM)*dVteVb2e1);
{
double value_sqrt_0 = sqrt((1.0+f1));
double  deriv_sqrt_0_d0 = (0.5/value_sqrt_0);
d_dn0Vb2e1_dX = (((If0*eVb2e1)*instanceStruct.instanceVar_VtINV)*(-0.5*deriv_sqrt_0_d0*(d_f1_dX)/value_sqrt_0/value_sqrt_0)+((If0*eVb2e1)*instanceStruct.d_instanceVar_VtINV_dX+(If0*d_eVb2e1_dX+d_If0_dX*eVb2e1)*instanceStruct.instanceVar_VtINV)*(0.5/value_sqrt_0));
dn0Vb2e1 = (((If0*eVb2e1)*instanceStruct.instanceVar_VtINV)*(0.5/value_sqrt_0));
}
d_dQbeVb2e1_dX = (((0.5*Qb0)*q1Q)*d_dn0Vb2e1_dX+((0.5*Qb0)*d_q1Q_dX+0.5*d_Qb0_dX*q1Q)*dn0Vb2e1);
dQbeVb2e1 = (((0.5*Qb0)*q1Q)*dn0Vb2e1);
d_dQeVb2e1_dX = (((modelStruct.modelPar_MTAU*instanceStruct.instanceVar_Vt)*d_Qe_qs_dX-Qe_qs*(modelStruct.modelPar_MTAU*instanceStruct.d_instanceVar_Vt_dX+modelStruct.d_modelPar_MTAU_dX*instanceStruct.instanceVar_Vt))/(modelStruct.modelPar_MTAU*instanceStruct.instanceVar_Vt)/(modelStruct.modelPar_MTAU*instanceStruct.instanceVar_Vt));
dQeVb2e1 = (Qe_qs/(modelStruct.modelPar_MTAU*instanceStruct.instanceVar_Vt));
d_Qb1b2_dX = ((0.2*Vb1b2)*((d_dQteVb2e1_dX+d_dQbeVb2e1_dX)+d_dQeVb2e1_dX)+0.2*d_Vb1b2_dX*((dQteVb2e1+dQbeVb2e1)+dQeVb2e1));
Qb1b2 = ((0.2*Vb1b2)*((dQteVb2e1+dQbeVb2e1)+dQeVb2e1));
d_Qe_dX = ((1-modelStruct.modelPar_KE)*d_Qe_qs_dX+(-modelStruct.d_modelPar_KE_dX)*Qe_qs);
Qe = ((1-modelStruct.modelPar_KE)*Qe_qs);
d_Qbe_qs_eff_dX = (d_Qbe_qs_dX+(modelStruct.modelPar_KE*d_Qe_qs_dX+modelStruct.d_modelPar_KE_dX*Qe_qs));
Qbe_qs_eff = (Qbe_qs+(modelStruct.modelPar_KE*Qe_qs));
d_Qbc_dX = ((modelStruct.modelPar_XQB*d_Qbe_qs_eff_dX+modelStruct.d_modelPar_XQB_dX*Qbe_qs_eff)+d_Qbc_qs_dX);
Qbc = ((modelStruct.modelPar_XQB*Qbe_qs_eff)+Qbc_qs);
d_Qbe_dX = ((1-modelStruct.modelPar_XQB)*d_Qbe_qs_eff_dX+(-modelStruct.d_modelPar_XQB_dX)*Qbe_qs_eff);
Qbe = ((1-modelStruct.modelPar_XQB)*Qbe_qs_eff);
}
else
{
d_Qbe_dX = d_Qbe_qs_dX;
Qbe = Qbe_qs;
d_Qbc_dX = d_Qbc_qs_dX;
Qbc = Qbc_qs;
d_Qe_dX = d_Qe_qs_dX;
Qe = Qe_qs;
}
// I(c1,c2) <+ ((TYPE*Ic1c2))
d_staticContributions_dX[admsNodeID_c1]+= modelStruct.modelPar_TYPE*d_Ic1c2_dX;
d_staticContributions_dX[(admsNodeID_c2)]-= modelStruct.modelPar_TYPE*d_Ic1c2_dX;
// I(c2,e1) <+ ((TYPE*In))
d_staticContributions_dX[admsNodeID_c2]+= modelStruct.modelPar_TYPE*d_In_dX;
d_staticContributions_dX[(admsNodeID_e1)]-= modelStruct.modelPar_TYPE*d_In_dX;
// I(b1,e1) <+ ((TYPE*Ib1_s))
d_staticContributions_dX[admsNodeID_b1]+= modelStruct.modelPar_TYPE*d_Ib1_s_dX;
d_staticContributions_dX[(admsNodeID_e1)]-= modelStruct.modelPar_TYPE*d_Ib1_s_dX;
// I(b2,e1) <+ ((TYPE*((Ib1+Ib2)-Izteb)))
d_staticContributions_dX[admsNodeID_b2]+= modelStruct.modelPar_TYPE*((d_Ib1_dX+d_Ib2_dX)-d_Izteb_dX);
d_staticContributions_dX[(admsNodeID_e1)]-= modelStruct.modelPar_TYPE*((d_Ib1_dX+d_Ib2_dX)-d_Izteb_dX);
// I(b1,s) <+ ((TYPE*Isub))
d_staticContributions_dX[admsNodeID_b1]+= modelStruct.modelPar_TYPE*d_Isub_dX;
d_staticContributions_dX[(admsNodeID_s)]-= modelStruct.modelPar_TYPE*d_Isub_dX;
// I(b,s) <+ ((TYPE*XIsub))
d_staticContributions_dX[admsNodeID_b]+= modelStruct.modelPar_TYPE*d_XIsub_dX;
d_staticContributions_dX[(admsNodeID_s)]-= modelStruct.modelPar_TYPE*d_XIsub_dX;
// I(s,c1) <+ ((TYPE*Isf))
d_staticContributions_dX[admsNodeID_s]+= modelStruct.modelPar_TYPE*d_Isf_dX;
d_staticContributions_dX[(admsNodeID_c1)]-= modelStruct.modelPar_TYPE*d_Isf_dX;
// I(b1,b2) <+ ((TYPE*Ib1b2))
d_staticContributions_dX[admsNodeID_b1]+= modelStruct.modelPar_TYPE*d_Ib1b2_dX;
d_staticContributions_dX[(admsNodeID_b2)]-= modelStruct.modelPar_TYPE*d_Ib1b2_dX;
// I(b2,c2) <+ ((TYPE*((-1.0)*Iavl)))
d_staticContributions_dX[admsNodeID_b2]+= modelStruct.modelPar_TYPE*(-1.0)*d_Iavl_dX;
d_staticContributions_dX[(admsNodeID_c2)]-= modelStruct.modelPar_TYPE*(-1.0)*d_Iavl_dX;
// I(e,e1) <+ (((TYPE*Vee1)/RE_TM))
d_staticContributions_dX[admsNodeID_e]+= ((instanceStruct.instanceVar_RE_TM*modelStruct.modelPar_TYPE*d_Vee1_dX-(modelStruct.modelPar_TYPE*Vee1)*instanceStruct.d_instanceVar_RE_TM_dX)/instanceStruct.instanceVar_RE_TM/instanceStruct.instanceVar_RE_TM);
d_staticContributions_dX[(admsNodeID_e1)]-= ((instanceStruct.instanceVar_RE_TM*modelStruct.modelPar_TYPE*d_Vee1_dX-(modelStruct.modelPar_TYPE*Vee1)*instanceStruct.d_instanceVar_RE_TM_dX)/instanceStruct.instanceVar_RE_TM/instanceStruct.instanceVar_RE_TM);
// I(b,b1) <+ (((TYPE*Vbb1)/RBC_TM))
d_staticContributions_dX[admsNodeID_b]+= ((instanceStruct.instanceVar_RBC_TM*modelStruct.modelPar_TYPE*d_Vbb1_dX-(modelStruct.modelPar_TYPE*Vbb1)*instanceStruct.d_instanceVar_RBC_TM_dX)/instanceStruct.instanceVar_RBC_TM/instanceStruct.instanceVar_RBC_TM);
d_staticContributions_dX[(admsNodeID_b1)]-= ((instanceStruct.instanceVar_RBC_TM*modelStruct.modelPar_TYPE*d_Vbb1_dX-(modelStruct.modelPar_TYPE*Vbb1)*instanceStruct.d_instanceVar_RBC_TM_dX)/instanceStruct.instanceVar_RBC_TM/instanceStruct.instanceVar_RBC_TM);
// I(b2,e1) <+ (ddt((TYPE*((Qte+Qbe)+Qe))))
d_dynamicContributions_dX[admsNodeID_b2]+= (modelStruct.modelPar_TYPE*((d_Qte_dX+d_Qbe_dX)+d_Qe_dX));
d_dynamicContributions_dX[(admsNodeID_e1)]-= (modelStruct.modelPar_TYPE*((d_Qte_dX+d_Qbe_dX)+d_Qe_dX));
// I(b1,e1) <+ (ddt((TYPE*Qte_s)))
d_dynamicContributions_dX[admsNodeID_b1]+= (modelStruct.modelPar_TYPE*d_Qte_s_dX);
d_dynamicContributions_dX[(admsNodeID_e1)]-= (modelStruct.modelPar_TYPE*d_Qte_s_dX);
// I(b2,c2) <+ (ddt((TYPE*((Qtc+Qbc)+Qepi))))
d_dynamicContributions_dX[admsNodeID_b2]+= (modelStruct.modelPar_TYPE*((d_Qtc_dX+d_Qbc_dX)+d_Qepi_dX));
d_dynamicContributions_dX[(admsNodeID_c2)]-= (modelStruct.modelPar_TYPE*((d_Qtc_dX+d_Qbc_dX)+d_Qepi_dX));
// I(s,c1) <+ (ddt((TYPE*Qts)))
d_dynamicContributions_dX[admsNodeID_s]+= (modelStruct.modelPar_TYPE*d_Qts_dX);
d_dynamicContributions_dX[(admsNodeID_c1)]-= (modelStruct.modelPar_TYPE*d_Qts_dX);
// I(b1,b2) <+ (ddt((TYPE*Qb1b2)))
d_dynamicContributions_dX[admsNodeID_b1]+= (modelStruct.modelPar_TYPE*d_Qb1b2_dX);
d_dynamicContributions_dX[(admsNodeID_b2)]-= (modelStruct.modelPar_TYPE*d_Qb1b2_dX);
// I(b,e) <+ (ddt(((TYPE*CBEO_M)*Vbe)))
d_dynamicContributions_dX[admsNodeID_b]+= (((modelStruct.modelPar_TYPE*instanceStruct.instanceVar_CBEO_M)*d_Vbe_dX+modelStruct.modelPar_TYPE*instanceStruct.d_instanceVar_CBEO_M_dX*Vbe));
d_dynamicContributions_dX[(admsNodeID_e)]-= (((modelStruct.modelPar_TYPE*instanceStruct.instanceVar_CBEO_M)*d_Vbe_dX+modelStruct.modelPar_TYPE*instanceStruct.d_instanceVar_CBEO_M_dX*Vbe));
// I(b,c) <+ (ddt(((TYPE*CBCO_M)*Vbc)))
d_dynamicContributions_dX[admsNodeID_b]+= (((modelStruct.modelPar_TYPE*instanceStruct.instanceVar_CBCO_M)*d_Vbc_dX+modelStruct.modelPar_TYPE*instanceStruct.d_instanceVar_CBCO_M_dX*Vbc));
d_dynamicContributions_dX[(admsNodeID_c)]-= (((modelStruct.modelPar_TYPE*instanceStruct.instanceVar_CBCO_M)*d_Vbc_dX+modelStruct.modelPar_TYPE*instanceStruct.d_instanceVar_CBCO_M_dX*Vbc));
}
if ((modelStruct.modelPar_RCBLX>0.0))
{
// I(b,c3) <+ ((TYPE*XIex))
d_staticContributions_dX[admsNodeID_b]+= modelStruct.modelPar_TYPE*d_XIex_dX;
d_staticContributions_dX[(admsNodeID_c3)]-= modelStruct.modelPar_TYPE*d_XIex_dX;
// I(c,c3) <+ (((TYPE*Vcc3)*GCCxx_TM))
d_staticContributions_dX[admsNodeID_c]+= ((modelStruct.modelPar_TYPE*Vcc3)*instanceStruct.d_instanceVar_GCCxx_TM_dX+modelStruct.modelPar_TYPE*d_Vcc3_dX*instanceStruct.instanceVar_GCCxx_TM);
d_staticContributions_dX[(admsNodeID_c3)]-= ((modelStruct.modelPar_TYPE*Vcc3)*instanceStruct.d_instanceVar_GCCxx_TM_dX+modelStruct.modelPar_TYPE*d_Vcc3_dX*instanceStruct.instanceVar_GCCxx_TM);
// I(b,c3) <+ (ddt((TYPE*(XQtex+XQex))))
d_dynamicContributions_dX[admsNodeID_b]+= (modelStruct.modelPar_TYPE*(d_XQtex_dX+d_XQex_dX));
d_dynamicContributions_dX[(admsNodeID_c3)]-= (modelStruct.modelPar_TYPE*(d_XQtex_dX+d_XQex_dX));
if ((modelStruct.modelPar_RCBLI>0.0))
{
// I(c4,c1) <+ (((TYPE*Vc4c1)*GCCin_TM))
d_staticContributions_dX[admsNodeID_c4]+= ((modelStruct.modelPar_TYPE*Vc4c1)*instanceStruct.d_instanceVar_GCCin_TM_dX+modelStruct.modelPar_TYPE*d_Vc4c1_dX*instanceStruct.instanceVar_GCCin_TM);
d_staticContributions_dX[(admsNodeID_c1)]-= ((modelStruct.modelPar_TYPE*Vc4c1)*instanceStruct.d_instanceVar_GCCin_TM_dX+modelStruct.modelPar_TYPE*d_Vc4c1_dX*instanceStruct.instanceVar_GCCin_TM);
// I(b1,c4) <+ ((TYPE*(Ib3+Iex)))
d_staticContributions_dX[admsNodeID_b1]+= modelStruct.modelPar_TYPE*(d_Ib3_dX+d_Iex_dX);
d_staticContributions_dX[(admsNodeID_c4)]-= modelStruct.modelPar_TYPE*(d_Ib3_dX+d_Iex_dX);
// I(c3,c4) <+ (((TYPE*Vc3c4)*GCCex_TM))
d_staticContributions_dX[admsNodeID_c3]+= ((modelStruct.modelPar_TYPE*Vc3c4)*instanceStruct.d_instanceVar_GCCex_TM_dX+modelStruct.modelPar_TYPE*d_Vc3c4_dX*instanceStruct.instanceVar_GCCex_TM);
d_staticContributions_dX[(admsNodeID_c4)]-= ((modelStruct.modelPar_TYPE*Vc3c4)*instanceStruct.d_instanceVar_GCCex_TM_dX+modelStruct.modelPar_TYPE*d_Vc3c4_dX*instanceStruct.instanceVar_GCCex_TM);
// I(b1,c4) <+ (ddt((TYPE*(Qtex+Qex))))
d_dynamicContributions_dX[admsNodeID_b1]+= (modelStruct.modelPar_TYPE*(d_Qtex_dX+d_Qex_dX));
d_dynamicContributions_dX[(admsNodeID_c4)]-= (modelStruct.modelPar_TYPE*(d_Qtex_dX+d_Qex_dX));
}
else
{
// V(c4,c1) <+ (0.0)
// do nothing at all
// I(b1,c1) <+ ((TYPE*(Ib3+Iex)))
d_staticContributions_dX[admsNodeID_b1]+= modelStruct.modelPar_TYPE*(d_Ib3_dX+d_Iex_dX);
d_staticContributions_dX[(admsNodeID_c1)]-= modelStruct.modelPar_TYPE*(d_Ib3_dX+d_Iex_dX);
// I(b1,c1) <+ (ddt((TYPE*(Qtex+Qex))))
d_dynamicContributions_dX[admsNodeID_b1]+= (modelStruct.modelPar_TYPE*(d_Qtex_dX+d_Qex_dX));
d_dynamicContributions_dX[(admsNodeID_c1)]-= (modelStruct.modelPar_TYPE*(d_Qtex_dX+d_Qex_dX));
// I(c3,c1) <+ (((TYPE*Vc3c4)*GCCex_TM))
d_staticContributions_dX[admsNodeID_c3]+= ((modelStruct.modelPar_TYPE*Vc3c4)*instanceStruct.d_instanceVar_GCCex_TM_dX+modelStruct.modelPar_TYPE*d_Vc3c4_dX*instanceStruct.instanceVar_GCCex_TM);
d_staticContributions_dX[(admsNodeID_c1)]-= ((modelStruct.modelPar_TYPE*Vc3c4)*instanceStruct.d_instanceVar_GCCex_TM_dX+modelStruct.modelPar_TYPE*d_Vc3c4_dX*instanceStruct.instanceVar_GCCex_TM);
}
}
else
{
// V(c3,c4) <+ (0)
// do nothing at all
if ((modelStruct.modelPar_RCBLI>0.0))
{
// I(b,c4) <+ ((TYPE*XIex))
d_staticContributions_dX[admsNodeID_b]+= modelStruct.modelPar_TYPE*d_XIex_dX;
d_staticContributions_dX[(admsNodeID_c4)]-= modelStruct.modelPar_TYPE*d_XIex_dX;
// I(c,c4) <+ (((TYPE*Vcc3)*GCCxx_TM))
d_staticContributions_dX[admsNodeID_c]+= ((modelStruct.modelPar_TYPE*Vcc3)*instanceStruct.d_instanceVar_GCCxx_TM_dX+modelStruct.modelPar_TYPE*d_Vcc3_dX*instanceStruct.instanceVar_GCCxx_TM);
d_staticContributions_dX[(admsNodeID_c4)]-= ((modelStruct.modelPar_TYPE*Vcc3)*instanceStruct.d_instanceVar_GCCxx_TM_dX+modelStruct.modelPar_TYPE*d_Vcc3_dX*instanceStruct.instanceVar_GCCxx_TM);
// I(c4,c1) <+ (((TYPE*Vc4c1)*GCCin_TM))
d_staticContributions_dX[admsNodeID_c4]+= ((modelStruct.modelPar_TYPE*Vc4c1)*instanceStruct.d_instanceVar_GCCin_TM_dX+modelStruct.modelPar_TYPE*d_Vc4c1_dX*instanceStruct.instanceVar_GCCin_TM);
d_staticContributions_dX[(admsNodeID_c1)]-= ((modelStruct.modelPar_TYPE*Vc4c1)*instanceStruct.d_instanceVar_GCCin_TM_dX+modelStruct.modelPar_TYPE*d_Vc4c1_dX*instanceStruct.instanceVar_GCCin_TM);
// I(b1,c4) <+ ((TYPE*(Ib3+Iex)))
d_staticContributions_dX[admsNodeID_b1]+= modelStruct.modelPar_TYPE*(d_Ib3_dX+d_Iex_dX);
d_staticContributions_dX[(admsNodeID_c4)]-= modelStruct.modelPar_TYPE*(d_Ib3_dX+d_Iex_dX);
// I(b1,c4) <+ (ddt((TYPE*(Qtex+Qex))))
d_dynamicContributions_dX[admsNodeID_b1]+= (modelStruct.modelPar_TYPE*(d_Qtex_dX+d_Qex_dX));
d_dynamicContributions_dX[(admsNodeID_c4)]-= (modelStruct.modelPar_TYPE*(d_Qtex_dX+d_Qex_dX));
// I(b,c4) <+ (ddt((TYPE*(XQtex+XQex))))
d_dynamicContributions_dX[admsNodeID_b]+= (modelStruct.modelPar_TYPE*(d_XQtex_dX+d_XQex_dX));
d_dynamicContributions_dX[(admsNodeID_c4)]-= (modelStruct.modelPar_TYPE*(d_XQtex_dX+d_XQex_dX));
}
else
{
// I(b,c1) <+ ((TYPE*XIex))
d_staticContributions_dX[admsNodeID_b]+= modelStruct.modelPar_TYPE*d_XIex_dX;
d_staticContributions_dX[(admsNodeID_c1)]-= modelStruct.modelPar_TYPE*d_XIex_dX;
// I(c,c1) <+ (((TYPE*Vcc3)*GCCxx_TM))
d_staticContributions_dX[admsNodeID_c]+= ((modelStruct.modelPar_TYPE*Vcc3)*instanceStruct.d_instanceVar_GCCxx_TM_dX+modelStruct.modelPar_TYPE*d_Vcc3_dX*instanceStruct.instanceVar_GCCxx_TM);
d_staticContributions_dX[(admsNodeID_c1)]-= ((modelStruct.modelPar_TYPE*Vcc3)*instanceStruct.d_instanceVar_GCCxx_TM_dX+modelStruct.modelPar_TYPE*d_Vcc3_dX*instanceStruct.instanceVar_GCCxx_TM);
// V(c4,c1) <+ (0.0)
// do nothing at all
// I(b1,c1) <+ ((TYPE*(Ib3+Iex)))
d_staticContributions_dX[admsNodeID_b1]+= modelStruct.modelPar_TYPE*(d_Ib3_dX+d_Iex_dX);
d_staticContributions_dX[(admsNodeID_c1)]-= modelStruct.modelPar_TYPE*(d_Ib3_dX+d_Iex_dX);
// I(b1,c1) <+ (ddt((TYPE*(Qtex+Qex))))
d_dynamicContributions_dX[admsNodeID_b1]+= (modelStruct.modelPar_TYPE*(d_Qtex_dX+d_Qex_dX));
d_dynamicContributions_dX[(admsNodeID_c1)]-= (modelStruct.modelPar_TYPE*(d_Qtex_dX+d_Qex_dX));
// I(b,c1) <+ (ddt((TYPE*(XQtex+XQex))))
d_dynamicContributions_dX[admsNodeID_b]+= (modelStruct.modelPar_TYPE*(d_XQtex_dX+d_XQex_dX));
d_dynamicContributions_dX[(admsNodeID_c1)]-= (modelStruct.modelPar_TYPE*(d_XQtex_dX+d_XQex_dX));
// I(c3,c1) <+ (((TYPE*Vc3c4)*GCCex_TM))
d_staticContributions_dX[admsNodeID_c3]+= ((modelStruct.modelPar_TYPE*Vc3c4)*instanceStruct.d_instanceVar_GCCex_TM_dX+modelStruct.modelPar_TYPE*d_Vc3c4_dX*instanceStruct.instanceVar_GCCex_TM);
d_staticContributions_dX[(admsNodeID_c1)]-= ((modelStruct.modelPar_TYPE*Vc3c4)*instanceStruct.d_instanceVar_GCCex_TM_dX+modelStruct.modelPar_TYPE*d_Vc3c4_dX*instanceStruct.instanceVar_GCCex_TM);
}
}
{
d_common_dX = (4.0*1.3806226e-23)*instanceStruct.d_instanceVar_Tk_dX;
common = ((4.0*1.3806226e-23)*instanceStruct.instanceVar_Tk);
d_powerREC_dX = ((instanceStruct.instanceVar_RE_TM*d_common_dX-common*instanceStruct.d_instanceVar_RE_TM_dX)/instanceStruct.instanceVar_RE_TM/instanceStruct.instanceVar_RE_TM);
powerREC = (common/instanceStruct.instanceVar_RE_TM);
d_powerRBC_dX = ((instanceStruct.instanceVar_RBC_TM*d_common_dX-common*instanceStruct.d_instanceVar_RBC_TM_dX)/instanceStruct.instanceVar_RBC_TM/instanceStruct.instanceVar_RBC_TM);
powerRBC = (common/instanceStruct.instanceVar_RBC_TM);
d_powerRCCxx_dX = (common*instanceStruct.d_instanceVar_GCCxx_TM_dX+d_common_dX*instanceStruct.instanceVar_GCCxx_TM);
powerRCCxx = (common*instanceStruct.instanceVar_GCCxx_TM);
d_powerRCCex_dX = (common*instanceStruct.d_instanceVar_GCCex_TM_dX+d_common_dX*instanceStruct.instanceVar_GCCex_TM);
powerRCCex = (common*instanceStruct.instanceVar_GCCex_TM);
d_powerRCCin_dX = (common*instanceStruct.d_instanceVar_GCCin_TM_dX+d_common_dX*instanceStruct.instanceVar_GCCin_TM);
powerRCCin = (common*instanceStruct.instanceVar_GCCin_TM);
d_powerRBV_dX = ((common/Rb2)*4.0*d_eVb1b2_dX+((Rb2*d_common_dX-common*d_Rb2_dX)/Rb2/Rb2)*((4.0*eVb1b2)+5.0))*0.33333333333333333333;
powerRBV = (((common/Rb2)*((4.0*eVb1b2)+5.0))*0.33333333333333333333);
d_In_N_dX = ((qBI*(d_If_dX+d_Ir_dX)-(If+Ir)*d_qBI_dX)/qBI/qBI);
In_N = ((If+Ir)/qBI);
{
double value_fabs_0 = fabs(In_N);
double  deriv_fabs_0_d0 = (((In_N)>=0)?(+1.0):(-1.0));
d_powerCCS_dX = (2.0*1.6021918e-19)*deriv_fabs_0_d0*(d_In_N_dX);
powerCCS = ((2.0*1.6021918e-19)*value_fabs_0);
}
if ((modelStruct.modelPar_KAVL>0))
{
{
double value_fabs_0 = fabs((Iavl/In_N));
double  deriv_fabs_0_d0 = ((((Iavl/In_N))>=0)?(+1.0):(-1.0));
d_Gem_N_dX = deriv_fabs_0_d0*(((In_N*d_Iavl_dX-Iavl*d_In_N_dX)/In_N/In_N));
Gem_N = value_fabs_0;
}
}
else
{
d_Gem_N_dX = 0.0;
Gem_N = 0.0;
}
d_powerIIS_dX = (((2.0*1.6021918e-19)*Iavl)*d_Gem_N_dX+(2.0*1.6021918e-19)*d_Iavl_dX*(Gem_N+1));
powerIIS = (((2.0*1.6021918e-19)*Iavl)*(Gem_N+1));
if ((In_N>0.0))
{
d_Taub_N_dX = ((In_N*(d_Qbe_dX+d_Qbc_dX)-(Qbe+Qbc)*d_In_N_dX)/In_N/In_N);
Taub_N = ((Qbe+Qbc)/In_N);
}
else
{
d_Taub_N_dX = ((instanceStruct.instanceVar_TAUB_T*q1Q)*d_qBI_dX+(instanceStruct.instanceVar_TAUB_T*d_q1Q_dX+instanceStruct.d_instanceVar_TAUB_T_dX*q1Q)*qBI);
Taub_N = ((instanceStruct.instanceVar_TAUB_T*q1Q)*qBI);
}
if ((modelStruct.modelPar_KC==1))
{
d_taun_dX = (modelStruct.modelPar_XQB*d_Taub_N_dX+modelStruct.d_modelPar_XQB_dX*Taub_N);
taun = (modelStruct.modelPar_XQB*Taub_N);
}
else
{
if ((modelStruct.modelPar_KC==2))
{
d_taun_dX = (modelStruct.modelPar_FTAUN*d_Taub_N_dX+modelStruct.d_modelPar_FTAUN_dX*Taub_N);
taun = (modelStruct.modelPar_FTAUN*Taub_N);
}
else
{
d_taun_dX = 0.0;
taun = 0;
}
}
{
double value_fabs_0 = fabs(Ib1);
double value_fabs_1 = fabs(Ib2);
double value_fabs_2 = fabs(Izteb);
double  deriv_fabs_0_d0 = (((Ib1)>=0)?(+1.0):(-1.0));
double  deriv_fabs_1_d0 = (((Ib2)>=0)?(+1.0):(-1.0));
double  deriv_fabs_2_d0 = (((Izteb)>=0)?(+1.0):(-1.0));
d_powerFBCS_dX = (2.0*1.6021918e-19)*((deriv_fabs_0_d0*(d_Ib1_dX)+deriv_fabs_1_d0*(d_Ib2_dX))+deriv_fabs_2_d0*(d_Izteb_dX));
powerFBCS = ((2.0*1.6021918e-19)*((value_fabs_0+value_fabs_1)+value_fabs_2));
}
{
double value_fabs_0 = fabs(Ib1);
double value_pow_1 = pow((value_fabs_0/(1-modelStruct.modelPar_XIBI)),modelStruct.modelPar_AF);
double  deriv_fabs_0_d0 = (((Ib1)>=0)?(+1.0):(-1.0));
double  deriv_pow_1_d0 = (((value_fabs_0/(1-modelStruct.modelPar_XIBI)) == 0.0)?0.0:(value_pow_1*modelStruct.modelPar_AF/(value_fabs_0/(1-modelStruct.modelPar_XIBI))));
double  deriv_pow_1_d1 = ((value_fabs_0/(1-modelStruct.modelPar_XIBI)) == 0.0)?0.0:(log((value_fabs_0/(1-modelStruct.modelPar_XIBI)))*value_pow_1);
d_powerFBC1fB1_dX = (((1.0-modelStruct.modelPar_XIBI)*value_pow_1)*instanceStruct.d_instanceVar_KF_M_dX+((1.0-modelStruct.modelPar_XIBI)*((deriv_pow_1_d0*((((1-modelStruct.modelPar_XIBI)*deriv_fabs_0_d0*(d_Ib1_dX)-value_fabs_0*(-modelStruct.d_modelPar_XIBI_dX))/(1-modelStruct.modelPar_XIBI)/(1-modelStruct.modelPar_XIBI))))+(deriv_pow_1_d1*(modelStruct.d_modelPar_AF_dX)))+(-modelStruct.d_modelPar_XIBI_dX)*value_pow_1)*instanceStruct.instanceVar_KF_M);
powerFBC1fB1 = (((1.0-modelStruct.modelPar_XIBI)*value_pow_1)*instanceStruct.instanceVar_KF_M);
}
d_exponentFBC1fB2_dX = (2.0*modelStruct.d_modelPar_MLF_dX+(modelStruct.modelPar_AF*(-modelStruct.d_modelPar_MLF_dX)+modelStruct.d_modelPar_AF_dX*(2.0-modelStruct.modelPar_MLF)));
exponentFBC1fB2 = ((2.0*(modelStruct.modelPar_MLF-1.0))+(modelStruct.modelPar_AF*(2.0-modelStruct.modelPar_MLF)));
{
double value_fabs_0 = fabs(Ib2);
double value_pow_1 = pow(value_fabs_0,exponentFBC1fB2);
double  deriv_fabs_0_d0 = (((Ib2)>=0)?(+1.0):(-1.0));
double  deriv_pow_1_d0 = ((value_fabs_0 == 0.0)?0.0:(value_pow_1*exponentFBC1fB2/value_fabs_0));
double  deriv_pow_1_d1 = (value_fabs_0 == 0.0)?0.0:(log(value_fabs_0)*value_pow_1);
d_powerFBC1fB2_dX = (instanceStruct.instanceVar_KFN_M*((deriv_pow_1_d0*(deriv_fabs_0_d0*(d_Ib2_dX)))+(deriv_pow_1_d1*(d_exponentFBC1fB2_dX)))+instanceStruct.d_instanceVar_KFN_M_dX*value_pow_1);
powerFBC1fB2 = (instanceStruct.instanceVar_KFN_M*value_pow_1);
}
{
double value_fabs_0 = fabs(Ib1_s);
double  deriv_fabs_0_d0 = (((Ib1_s)>=0)?(+1.0):(-1.0));
d_powerEBSCS_dX = (2.0*1.6021918e-19)*deriv_fabs_0_d0*(d_Ib1_s_dX);
powerEBSCS = ((2.0*1.6021918e-19)*value_fabs_0);
}
if ((modelStruct.modelPar_XIBI==0))
{
d_powerEBSC1f_dX = 0.0;
powerEBSC1f = 0.0;
}
else
{
{
double value_fabs_0 = fabs((Ib1_s/modelStruct.modelPar_XIBI));
double value_pow_1 = pow(value_fabs_0,modelStruct.modelPar_AF);
double  deriv_fabs_0_d0 = ((((Ib1_s/modelStruct.modelPar_XIBI))>=0)?(+1.0):(-1.0));
double  deriv_pow_1_d0 = ((value_fabs_0 == 0.0)?0.0:(value_pow_1*modelStruct.modelPar_AF/value_fabs_0));
double  deriv_pow_1_d1 = (value_fabs_0 == 0.0)?0.0:(log(value_fabs_0)*value_pow_1);
d_powerEBSC1f_dX = ((instanceStruct.instanceVar_KF_M*modelStruct.modelPar_XIBI)*((deriv_pow_1_d0*(deriv_fabs_0_d0*(((modelStruct.modelPar_XIBI*d_Ib1_s_dX-Ib1_s*modelStruct.d_modelPar_XIBI_dX)/modelStruct.modelPar_XIBI/modelStruct.modelPar_XIBI))))+(deriv_pow_1_d1*(modelStruct.d_modelPar_AF_dX)))+(instanceStruct.instanceVar_KF_M*modelStruct.d_modelPar_XIBI_dX+instanceStruct.d_instanceVar_KF_M_dX*modelStruct.modelPar_XIBI)*value_pow_1);
powerEBSC1f = ((instanceStruct.instanceVar_KF_M*modelStruct.modelPar_XIBI)*value_pow_1);
}
}
{
double value_fabs_0 = fabs(Ib3);
double  deriv_fabs_0_d0 = (((Ib3)>=0)?(+1.0):(-1.0));
d_powerRBCS_dX = (2.0*1.6021918e-19)*deriv_fabs_0_d0*(d_Ib3_dX);
powerRBCS = ((2.0*1.6021918e-19)*value_fabs_0);
}
{
double value_fabs_0 = fabs(Ib3);
double value_pow_1 = pow(value_fabs_0,modelStruct.modelPar_AF);
double  deriv_fabs_0_d0 = (((Ib3)>=0)?(+1.0):(-1.0));
double  deriv_pow_1_d0 = ((value_fabs_0 == 0.0)?0.0:(value_pow_1*modelStruct.modelPar_AF/value_fabs_0));
double  deriv_pow_1_d1 = (value_fabs_0 == 0.0)?0.0:(log(value_fabs_0)*value_pow_1);
d_powerRBC1f_dX = (instanceStruct.instanceVar_KF_M*((deriv_pow_1_d0*(deriv_fabs_0_d0*(d_Ib3_dX)))+(deriv_pow_1_d1*(modelStruct.d_modelPar_AF_dX)))+instanceStruct.d_instanceVar_KF_M_dX*value_pow_1);
powerRBC1f = (instanceStruct.instanceVar_KF_M*value_pow_1);
}
{
double value_fabs_0 = fabs(Iex);
double  deriv_fabs_0_d0 = (((Iex)>=0)?(+1.0):(-1.0));
d_powerExCS_dX = (2.0*1.6021918e-19)*deriv_fabs_0_d0*(d_Iex_dX);
powerExCS = ((2.0*1.6021918e-19)*value_fabs_0);
}
{
double value_fabs_0 = fabs(Iex);
double value_pow_1 = pow((value_fabs_0/(1-(modelStruct.modelPar_EXMOD*modelStruct.modelPar_XEXT))),modelStruct.modelPar_AF);
double  deriv_fabs_0_d0 = (((Iex)>=0)?(+1.0):(-1.0));
double  deriv_pow_1_d0 = (((value_fabs_0/(1-(modelStruct.modelPar_EXMOD*modelStruct.modelPar_XEXT))) == 0.0)?0.0:(value_pow_1*modelStruct.modelPar_AF/(value_fabs_0/(1-(modelStruct.modelPar_EXMOD*modelStruct.modelPar_XEXT)))));
double  deriv_pow_1_d1 = ((value_fabs_0/(1-(modelStruct.modelPar_EXMOD*modelStruct.modelPar_XEXT))) == 0.0)?0.0:(log((value_fabs_0/(1-(modelStruct.modelPar_EXMOD*modelStruct.modelPar_XEXT))))*value_pow_1);
d_powerExC1f_dX = ((instanceStruct.instanceVar_KF_M*(1-(modelStruct.modelPar_EXMOD*modelStruct.modelPar_XEXT)))*((deriv_pow_1_d0*((((1-(modelStruct.modelPar_EXMOD*modelStruct.modelPar_XEXT))*deriv_fabs_0_d0*(d_Iex_dX)-value_fabs_0*(-modelStruct.modelPar_EXMOD*modelStruct.d_modelPar_XEXT_dX))/(1-(modelStruct.modelPar_EXMOD*modelStruct.modelPar_XEXT))/(1-(modelStruct.modelPar_EXMOD*modelStruct.modelPar_XEXT)))))+(deriv_pow_1_d1*(modelStruct.d_modelPar_AF_dX)))+(instanceStruct.instanceVar_KF_M*(-modelStruct.modelPar_EXMOD*modelStruct.d_modelPar_XEXT_dX)+instanceStruct.d_instanceVar_KF_M_dX*(1-(modelStruct.modelPar_EXMOD*modelStruct.modelPar_XEXT)))*value_pow_1);
powerExC1f = ((instanceStruct.instanceVar_KF_M*(1-(modelStruct.modelPar_EXMOD*modelStruct.modelPar_XEXT)))*value_pow_1);
}
{
double value_fabs_0 = fabs(XIex);
double  deriv_fabs_0_d0 = (((XIex)>=0)?(+1.0):(-1.0));
d_powerExCSMOD_dX = (2.0*1.6021918e-19)*deriv_fabs_0_d0*(d_XIex_dX)*modelStruct.modelPar_EXMOD;
powerExCSMOD = (((2.0*1.6021918e-19)*value_fabs_0)*modelStruct.modelPar_EXMOD);
}
if ((modelStruct.modelPar_XEXT==0.0))
{
d_powerExC1fMOD_dX = 0.0;
powerExC1fMOD = 0.0;
}
else
{
{
double value_fabs_0 = fabs(XIex);
double value_pow_1 = pow((value_fabs_0/modelStruct.modelPar_XEXT),modelStruct.modelPar_AF);
double  deriv_fabs_0_d0 = (((XIex)>=0)?(+1.0):(-1.0));
double  deriv_pow_1_d0 = (((value_fabs_0/modelStruct.modelPar_XEXT) == 0.0)?0.0:(value_pow_1*modelStruct.modelPar_AF/(value_fabs_0/modelStruct.modelPar_XEXT)));
double  deriv_pow_1_d1 = ((value_fabs_0/modelStruct.modelPar_XEXT) == 0.0)?0.0:(log((value_fabs_0/modelStruct.modelPar_XEXT))*value_pow_1);
d_powerExC1fMOD_dX = (((instanceStruct.instanceVar_KF_M*modelStruct.modelPar_EXMOD)*modelStruct.modelPar_XEXT)*((deriv_pow_1_d0*(((modelStruct.modelPar_XEXT*deriv_fabs_0_d0*(d_XIex_dX)-value_fabs_0*modelStruct.d_modelPar_XEXT_dX)/modelStruct.modelPar_XEXT/modelStruct.modelPar_XEXT)))+(deriv_pow_1_d1*(modelStruct.d_modelPar_AF_dX)))+((instanceStruct.instanceVar_KF_M*modelStruct.modelPar_EXMOD)*modelStruct.d_modelPar_XEXT_dX+instanceStruct.d_instanceVar_KF_M_dX*modelStruct.modelPar_EXMOD*modelStruct.modelPar_XEXT)*value_pow_1);
powerExC1fMOD = (((instanceStruct.instanceVar_KF_M*modelStruct.modelPar_EXMOD)*modelStruct.modelPar_XEXT)*value_pow_1);
}
}
{
double value_fabs_0 = fabs(Isub);
double  deriv_fabs_0_d0 = (((Isub)>=0)?(+1.0):(-1.0));
d_powerSubsCS_B1S_dX = (2.0*1.6021918e-19)*deriv_fabs_0_d0*(d_Isub_dX);
powerSubsCS_B1S = ((2.0*1.6021918e-19)*value_fabs_0);
}
{
double value_fabs_0 = fabs(XIsub);
double  deriv_fabs_0_d0 = (((XIsub)>=0)?(+1.0):(-1.0));
d_powerSubsCS_BS_dX = (2.0*1.6021918e-19)*deriv_fabs_0_d0*(d_XIsub_dX);
powerSubsCS_BS = ((2.0*1.6021918e-19)*value_fabs_0);
}
// I(noi,GND) <+ (white_noise(powerCCS))
// I(noi,GND) <+ (V(noi,GND))
d_staticContributions_dX[admsNodeID_noi]+= 0.0;
// I(b2,e1) <+ ((taun*ddt(V(noi,GND))))
d_dynamicContributions_dX[admsNodeID_b2]+= d_taun_dX*((probeVars[admsProbeID_V_noi_GND]));
d_dynamicContributions_dX[(admsNodeID_e1)]-= d_taun_dX*((probeVars[admsProbeID_V_noi_GND]));
// I(c2,b2) <+ ((Gem_N*V(noi,GND)))
d_staticContributions_dX[admsNodeID_c2]+= d_Gem_N_dX*(probeVars[admsProbeID_V_noi_GND]);
d_staticContributions_dX[(admsNodeID_b2)]-= d_Gem_N_dX*(probeVars[admsProbeID_V_noi_GND]);
// I(c2,e1) <+ (V(noi,GND))
d_staticContributions_dX[admsNodeID_c2]+= 0.0;
d_staticContributions_dX[(admsNodeID_e1)]-= 0.0;
// I(c2,b2) <+ (white_noise(powerIIS))
// I(b2,e1) <+ (white_noise(powerFBCS))
// I(e,e1) <+ (white_noise(powerREC))
// I(b,b1) <+ (white_noise(powerRBC))
// I(b1,b2) <+ (white_noise(powerRBV))
// I(b2,e1) <+ (flicker_noise(powerFBC1fB1,1))
// I(b2,e1) <+ (flicker_noise(powerFBC1fB2,1))
// I(e1,b1) <+ (white_noise(powerEBSCS))
// I(e1,b1) <+ (flicker_noise(powerEBSC1f,1))
// I(b1,c4) <+ (white_noise(powerRBCS))
// I(b1,c4) <+ (flicker_noise(powerRBC1f,1))
// I(b1,c4) <+ (white_noise(powerExCS))
// I(b1,c4) <+ (flicker_noise(powerExC1f,1))
// I(b,c3) <+ (white_noise(powerExCSMOD))
// I(b,c3) <+ (flicker_noise(powerExC1fMOD,1))
// I(b1,s) <+ (white_noise(powerSubsCS_B1S))
// I(b,s) <+ (white_noise(powerSubsCS_BS))
if ((modelStruct.modelPar_RCBLX>0.0))
{
if ((modelStruct.modelPar_RCBLI>0.0))
{
// I(c,c3) <+ (white_noise(powerRCCxx))
// I(c3,c4) <+ (white_noise(powerRCCex))
// I(c4,c1) <+ (white_noise(powerRCCin))
}
else
{
// I(c,c3) <+ (white_noise(powerRCCxx))
// I(c3,c1) <+ (white_noise(powerRCCex))
}
}
else
{
if ((modelStruct.modelPar_RCBLI>0.0))
{
// I(c,c4) <+ (white_noise(powerRCCxx))
// I(c4,c1) <+ (white_noise(powerRCCin))
}
else
{
// I(c,c1) <+ (white_noise(powerRCCxx))
}
}
}
{
d_rz_dX = (alpha_ft*d_rx_dX+d_alpha_ft_dX*rx);
rz = (alpha_ft*rx);
d_rb1b2_dX = (((gammax*d_rx_dX+d_gammax_dX*rx)+(gammay*d_ry_dX+d_gammay_dX*ry))+(gammaz*d_rz_dX+d_gammaz_dX*rz));
rb1b2 = (((gammax*rx)+(gammay*ry))+(gammaz*rz));
}
}



//-----------------------------------------------------------------------------
// Function      : InstanceSensitivity::operator()
// Purpose       : return sensitivity for a single instance parameter
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
/// Compute sensitivity of a device instance's outputs to a specified instance
/// parameter
///
///
/// @param[in] entity  The device entity that owns the parameter
/// @param[in] name    The unadorned parameter name specific to the entity
/// @param[out] dfdp   The derivative of the F vector with respect to the parameter
/// @param[out] dqdp   The derivative of the Q vector with respect to the parameter
/// @param[out] dbdp   The derivative of the B vector with respect to the parameter
/// @param[out] Findices   The indices into the F vector corresponding to the elements of dfdp
/// @param[out] Qindices   The indices into the Q vector corresponding to the elements of dfdp
/// @param[out] Bindices   The indices into the B vector corresponding to the elements of dfdp
///
///
void InstanceSensitivity::operator()
(
const ParameterBase &entity,
const std::string &name,
std::vector<double> & dfdp,
std::vector<double> & dqdp,
std::vector<double> & dbdp,
std::vector<int> & Findices,
std::vector<int> & Qindices,
std::vector<int> & Bindices
) const
{
const ParameterBase * e1 = &entity;
const Instance & in = *(dynamic_cast<const Instance *> (e1));
const Model & mod =in.model_;

dfdp.resize(12+0);
dqdp.resize(12+0);
Findices.resize(12+0);
Qindices.resize(12+0);

std::vector <double> probeVars(27);
std::vector <double> d_staticContributions_dX(12+0);
std::vector <double> d_dynamicContributions_dX(12+0);


// initialize contributions to zero (automatically sets derivatives to zero)
for (int i=0; i < 12+0 ; ++i)
{
   d_staticContributions_dX[i]=0;
   d_dynamicContributions_dX[i]=0;
}

// Copy out all the model parameters (doubles) into local structure
modelSensStruct modelStruct;

//reals
modelStruct.modelPar_TREF=mod.TREF;
modelStruct.d_modelPar_TREF_dX=0.0;
modelStruct.modelPar_given_TREF=mod.given("TREF");
modelStruct.modelPar_DTA=mod.DTA;
modelStruct.d_modelPar_DTA_dX=0.0;
modelStruct.modelPar_given_DTA=mod.given("DTA");
modelStruct.modelPar_IS=mod.IS;
modelStruct.d_modelPar_IS_dX=0.0;
modelStruct.modelPar_given_IS=mod.given("IS");
modelStruct.modelPar_IK=mod.IK;
modelStruct.d_modelPar_IK_dX=0.0;
modelStruct.modelPar_given_IK=mod.given("IK");
modelStruct.modelPar_VER=mod.VER;
modelStruct.d_modelPar_VER_dX=0.0;
modelStruct.modelPar_given_VER=mod.given("VER");
modelStruct.modelPar_VEF=mod.VEF;
modelStruct.d_modelPar_VEF_dX=0.0;
modelStruct.modelPar_given_VEF=mod.given("VEF");
modelStruct.modelPar_BF=mod.BF;
modelStruct.d_modelPar_BF_dX=0.0;
modelStruct.modelPar_given_BF=mod.given("BF");
modelStruct.modelPar_IBF=mod.IBF;
modelStruct.d_modelPar_IBF_dX=0.0;
modelStruct.modelPar_given_IBF=mod.given("IBF");
modelStruct.modelPar_MLF=mod.MLF;
modelStruct.d_modelPar_MLF_dX=0.0;
modelStruct.modelPar_given_MLF=mod.given("MLF");
modelStruct.modelPar_XIBI=mod.XIBI;
modelStruct.d_modelPar_XIBI_dX=0.0;
modelStruct.modelPar_given_XIBI=mod.given("XIBI");
modelStruct.modelPar_IZEB=mod.IZEB;
modelStruct.d_modelPar_IZEB_dX=0.0;
modelStruct.modelPar_given_IZEB=mod.given("IZEB");
modelStruct.modelPar_NZEB=mod.NZEB;
modelStruct.d_modelPar_NZEB_dX=0.0;
modelStruct.modelPar_given_NZEB=mod.given("NZEB");
modelStruct.modelPar_BRI=mod.BRI;
modelStruct.d_modelPar_BRI_dX=0.0;
modelStruct.modelPar_given_BRI=mod.given("BRI");
modelStruct.modelPar_IBR=mod.IBR;
modelStruct.d_modelPar_IBR_dX=0.0;
modelStruct.modelPar_given_IBR=mod.given("IBR");
modelStruct.modelPar_VLR=mod.VLR;
modelStruct.d_modelPar_VLR_dX=0.0;
modelStruct.modelPar_given_VLR=mod.given("VLR");
modelStruct.modelPar_XEXT=mod.XEXT;
modelStruct.d_modelPar_XEXT_dX=0.0;
modelStruct.modelPar_given_XEXT=mod.given("XEXT");
modelStruct.modelPar_WAVL=mod.WAVL;
modelStruct.d_modelPar_WAVL_dX=0.0;
modelStruct.modelPar_given_WAVL=mod.given("WAVL");
modelStruct.modelPar_VAVL=mod.VAVL;
modelStruct.d_modelPar_VAVL_dX=0.0;
modelStruct.modelPar_given_VAVL=mod.given("VAVL");
modelStruct.modelPar_SFH=mod.SFH;
modelStruct.d_modelPar_SFH_dX=0.0;
modelStruct.modelPar_given_SFH=mod.given("SFH");
modelStruct.modelPar_RE=mod.RE;
modelStruct.d_modelPar_RE_dX=0.0;
modelStruct.modelPar_given_RE=mod.given("RE");
modelStruct.modelPar_RBC=mod.RBC;
modelStruct.d_modelPar_RBC_dX=0.0;
modelStruct.modelPar_given_RBC=mod.given("RBC");
modelStruct.modelPar_RBV=mod.RBV;
modelStruct.d_modelPar_RBV_dX=0.0;
modelStruct.modelPar_given_RBV=mod.given("RBV");
modelStruct.modelPar_RCC=mod.RCC;
modelStruct.d_modelPar_RCC_dX=0.0;
modelStruct.modelPar_given_RCC=mod.given("RCC");
modelStruct.modelPar_RCV=mod.RCV;
modelStruct.d_modelPar_RCV_dX=0.0;
modelStruct.modelPar_given_RCV=mod.given("RCV");
modelStruct.modelPar_SCRCV=mod.SCRCV;
modelStruct.d_modelPar_SCRCV_dX=0.0;
modelStruct.modelPar_given_SCRCV=mod.given("SCRCV");
modelStruct.modelPar_IHC=mod.IHC;
modelStruct.d_modelPar_IHC_dX=0.0;
modelStruct.modelPar_given_IHC=mod.given("IHC");
modelStruct.modelPar_AXI=mod.AXI;
modelStruct.d_modelPar_AXI_dX=0.0;
modelStruct.modelPar_given_AXI=mod.given("AXI");
modelStruct.modelPar_CJE=mod.CJE;
modelStruct.d_modelPar_CJE_dX=0.0;
modelStruct.modelPar_given_CJE=mod.given("CJE");
modelStruct.modelPar_VDE=mod.VDE;
modelStruct.d_modelPar_VDE_dX=0.0;
modelStruct.modelPar_given_VDE=mod.given("VDE");
modelStruct.modelPar_PE=mod.PE;
modelStruct.d_modelPar_PE_dX=0.0;
modelStruct.modelPar_given_PE=mod.given("PE");
modelStruct.modelPar_XCJE=mod.XCJE;
modelStruct.d_modelPar_XCJE_dX=0.0;
modelStruct.modelPar_given_XCJE=mod.given("XCJE");
modelStruct.modelPar_CBEO=mod.CBEO;
modelStruct.d_modelPar_CBEO_dX=0.0;
modelStruct.modelPar_given_CBEO=mod.given("CBEO");
modelStruct.modelPar_CJC=mod.CJC;
modelStruct.d_modelPar_CJC_dX=0.0;
modelStruct.modelPar_given_CJC=mod.given("CJC");
modelStruct.modelPar_VDC=mod.VDC;
modelStruct.d_modelPar_VDC_dX=0.0;
modelStruct.modelPar_given_VDC=mod.given("VDC");
modelStruct.modelPar_PC=mod.PC;
modelStruct.d_modelPar_PC_dX=0.0;
modelStruct.modelPar_given_PC=mod.given("PC");
modelStruct.modelPar_XP=mod.XP;
modelStruct.d_modelPar_XP_dX=0.0;
modelStruct.modelPar_given_XP=mod.given("XP");
modelStruct.modelPar_MC=mod.MC;
modelStruct.d_modelPar_MC_dX=0.0;
modelStruct.modelPar_given_MC=mod.given("MC");
modelStruct.modelPar_XCJC=mod.XCJC;
modelStruct.d_modelPar_XCJC_dX=0.0;
modelStruct.modelPar_given_XCJC=mod.given("XCJC");
modelStruct.modelPar_RCBLX=mod.RCBLX;
modelStruct.d_modelPar_RCBLX_dX=0.0;
modelStruct.modelPar_given_RCBLX=mod.given("RCBLX");
modelStruct.modelPar_RCBLI=mod.RCBLI;
modelStruct.d_modelPar_RCBLI_dX=0.0;
modelStruct.modelPar_given_RCBLI=mod.given("RCBLI");
modelStruct.modelPar_CBCO=mod.CBCO;
modelStruct.d_modelPar_CBCO_dX=0.0;
modelStruct.modelPar_given_CBCO=mod.given("CBCO");
modelStruct.modelPar_MTAU=mod.MTAU;
modelStruct.d_modelPar_MTAU_dX=0.0;
modelStruct.modelPar_given_MTAU=mod.given("MTAU");
modelStruct.modelPar_TAUE=mod.TAUE;
modelStruct.d_modelPar_TAUE_dX=0.0;
modelStruct.modelPar_given_TAUE=mod.given("TAUE");
modelStruct.modelPar_TAUB=mod.TAUB;
modelStruct.d_modelPar_TAUB_dX=0.0;
modelStruct.modelPar_given_TAUB=mod.given("TAUB");
modelStruct.modelPar_TEPI=mod.TEPI;
modelStruct.d_modelPar_TEPI_dX=0.0;
modelStruct.modelPar_given_TEPI=mod.given("TEPI");
modelStruct.modelPar_TAUR=mod.TAUR;
modelStruct.d_modelPar_TAUR_dX=0.0;
modelStruct.modelPar_given_TAUR=mod.given("TAUR");
modelStruct.modelPar_DEG=mod.DEG;
modelStruct.d_modelPar_DEG_dX=0.0;
modelStruct.modelPar_given_DEG=mod.given("DEG");
modelStruct.modelPar_XREC=mod.XREC;
modelStruct.d_modelPar_XREC_dX=0.0;
modelStruct.modelPar_given_XREC=mod.given("XREC");
modelStruct.modelPar_XQB=mod.XQB;
modelStruct.d_modelPar_XQB_dX=0.0;
modelStruct.modelPar_given_XQB=mod.given("XQB");
modelStruct.modelPar_AQBO=mod.AQBO;
modelStruct.d_modelPar_AQBO_dX=0.0;
modelStruct.modelPar_given_AQBO=mod.given("AQBO");
modelStruct.modelPar_AE=mod.AE;
modelStruct.d_modelPar_AE_dX=0.0;
modelStruct.modelPar_given_AE=mod.given("AE");
modelStruct.modelPar_AB=mod.AB;
modelStruct.d_modelPar_AB_dX=0.0;
modelStruct.modelPar_given_AB=mod.given("AB");
modelStruct.modelPar_AEPI=mod.AEPI;
modelStruct.d_modelPar_AEPI_dX=0.0;
modelStruct.modelPar_given_AEPI=mod.given("AEPI");
modelStruct.modelPar_AEX=mod.AEX;
modelStruct.d_modelPar_AEX_dX=0.0;
modelStruct.modelPar_given_AEX=mod.given("AEX");
modelStruct.modelPar_AC=mod.AC;
modelStruct.d_modelPar_AC_dX=0.0;
modelStruct.modelPar_given_AC=mod.given("AC");
modelStruct.modelPar_ACBL=mod.ACBL;
modelStruct.d_modelPar_ACBL_dX=0.0;
modelStruct.modelPar_given_ACBL=mod.given("ACBL");
modelStruct.modelPar_DVGBF=mod.DVGBF;
modelStruct.d_modelPar_DVGBF_dX=0.0;
modelStruct.modelPar_given_DVGBF=mod.given("DVGBF");
modelStruct.modelPar_DVGBR=mod.DVGBR;
modelStruct.d_modelPar_DVGBR_dX=0.0;
modelStruct.modelPar_given_DVGBR=mod.given("DVGBR");
modelStruct.modelPar_VGB=mod.VGB;
modelStruct.d_modelPar_VGB_dX=0.0;
modelStruct.modelPar_given_VGB=mod.given("VGB");
modelStruct.modelPar_VGC=mod.VGC;
modelStruct.d_modelPar_VGC_dX=0.0;
modelStruct.modelPar_given_VGC=mod.given("VGC");
modelStruct.modelPar_VGJ=mod.VGJ;
modelStruct.d_modelPar_VGJ_dX=0.0;
modelStruct.modelPar_given_VGJ=mod.given("VGJ");
modelStruct.modelPar_VGZEB=mod.VGZEB;
modelStruct.d_modelPar_VGZEB_dX=0.0;
modelStruct.modelPar_given_VGZEB=mod.given("VGZEB");
modelStruct.modelPar_AVGEB=mod.AVGEB;
modelStruct.d_modelPar_AVGEB_dX=0.0;
modelStruct.modelPar_given_AVGEB=mod.given("AVGEB");
modelStruct.modelPar_TVGEB=mod.TVGEB;
modelStruct.d_modelPar_TVGEB_dX=0.0;
modelStruct.modelPar_given_TVGEB=mod.given("TVGEB");
modelStruct.modelPar_DVGTE=mod.DVGTE;
modelStruct.d_modelPar_DVGTE_dX=0.0;
modelStruct.modelPar_given_DVGTE=mod.given("DVGTE");
modelStruct.modelPar_DAIS=mod.DAIS;
modelStruct.d_modelPar_DAIS_dX=0.0;
modelStruct.modelPar_given_DAIS=mod.given("DAIS");
modelStruct.modelPar_AF=mod.AF;
modelStruct.d_modelPar_AF_dX=0.0;
modelStruct.modelPar_given_AF=mod.given("AF");
modelStruct.modelPar_KF=mod.KF;
modelStruct.d_modelPar_KF_dX=0.0;
modelStruct.modelPar_given_KF=mod.given("KF");
modelStruct.modelPar_KFN=mod.KFN;
modelStruct.d_modelPar_KFN_dX=0.0;
modelStruct.modelPar_given_KFN=mod.given("KFN");
modelStruct.modelPar_KE=mod.KE;
modelStruct.d_modelPar_KE_dX=0.0;
modelStruct.modelPar_given_KE=mod.given("KE");
modelStruct.modelPar_FTAUN=mod.FTAUN;
modelStruct.d_modelPar_FTAUN_dX=0.0;
modelStruct.modelPar_given_FTAUN=mod.given("FTAUN");
modelStruct.modelPar_ISS=mod.ISS;
modelStruct.d_modelPar_ISS_dX=0.0;
modelStruct.modelPar_given_ISS=mod.given("ISS");
modelStruct.modelPar_ICSS=mod.ICSS;
modelStruct.d_modelPar_ICSS_dX=0.0;
modelStruct.modelPar_given_ICSS=mod.given("ICSS");
modelStruct.modelPar_IKS=mod.IKS;
modelStruct.d_modelPar_IKS_dX=0.0;
modelStruct.modelPar_given_IKS=mod.given("IKS");
modelStruct.modelPar_CJS=mod.CJS;
modelStruct.d_modelPar_CJS_dX=0.0;
modelStruct.modelPar_given_CJS=mod.given("CJS");
modelStruct.modelPar_VDS=mod.VDS;
modelStruct.d_modelPar_VDS_dX=0.0;
modelStruct.modelPar_given_VDS=mod.given("VDS");
modelStruct.modelPar_PS=mod.PS;
modelStruct.d_modelPar_PS_dX=0.0;
modelStruct.modelPar_given_PS=mod.given("PS");
modelStruct.modelPar_VGS=mod.VGS;
modelStruct.d_modelPar_VGS_dX=0.0;
modelStruct.modelPar_given_VGS=mod.given("VGS");
modelStruct.modelPar_AS=mod.AS;
modelStruct.d_modelPar_AS_dX=0.0;
modelStruct.modelPar_given_AS=mod.given("AS");
modelStruct.modelPar_ASUB=mod.ASUB;
modelStruct.d_modelPar_ASUB_dX=0.0;
modelStruct.modelPar_given_ASUB=mod.given("ASUB");
modelStruct.modelPar_MULT=mod.MULT;
modelStruct.d_modelPar_MULT_dX=0.0;
modelStruct.modelPar_given_MULT=mod.given("MULT");
modelStruct.modelPar_GMIN=mod.GMIN;
modelStruct.d_modelPar_GMIN_dX=0.0;
modelStruct.modelPar_given_GMIN=mod.given("GMIN");


// hidden reals


// non-reals (including hiddens)
modelStruct.modelPar_LEVEL=mod.LEVEL;
modelStruct.modelPar_given_LEVEL=mod.given("LEVEL");
modelStruct.modelPar_EXMOD=mod.EXMOD;
modelStruct.modelPar_given_EXMOD=mod.given("EXMOD");
modelStruct.modelPar_EXPHI=mod.EXPHI;
modelStruct.modelPar_given_EXPHI=mod.given("EXPHI");
modelStruct.modelPar_EXAVL=mod.EXAVL;
modelStruct.modelPar_given_EXAVL=mod.given("EXAVL");
modelStruct.modelPar_EXSUB=mod.EXSUB;
modelStruct.modelPar_given_EXSUB=mod.given("EXSUB");
modelStruct.modelPar_KAVL=mod.KAVL;
modelStruct.modelPar_given_KAVL=mod.given("KAVL");
modelStruct.modelPar_KC=mod.KC;
modelStruct.modelPar_given_KC=mod.given("KC");
modelStruct.modelPar_TYPE=mod.TYPE;
modelStruct.modelPar_given_TYPE=mod.given("TYPE");



// Copy out all the instance parameters (doubles) into local struct
// Keep a map so we can set the right one to the independent variable
// We do this solely to avoid a big ugly "if/else" block just to find the
// one parameter we're doing sensitivities on.
unordered_map <std::string,double*,HashNoCase,EqualNoCase> inParamMap;
instanceSensStruct instanceStruct;
// reals
instanceStruct.instancePar_MULT=in.MULT;
instanceStruct.d_instancePar_MULT_dX=0.0;
instanceStruct.instancePar_given_MULT=in.given("MULT");
inParamMap["MULT"] = &(instanceStruct.d_instancePar_MULT_dX);


// Copy all the real hidden instance params into local struct



// Copy all the non-real instance params into vars of their appropriate type:


// Set the one parameter whose name was passed in to be the independent
// variable for differentiation purposes.  Since we stored variable pointers, this
// makes sure that that ONE variable gets set right.
// FIXME: make this check the name first, otherwise segfault on invalid name!
*(inParamMap[name])=1.0;

//make local copies of all instance vars
//reals
instanceStruct.instanceVar_An=in.An;
instanceStruct.instanceVar_Tk=in.Tk;
instanceStruct.d_instanceVar_Tk_dX=0.0;
instanceStruct.instanceVar_Vt=in.Vt;
instanceStruct.d_instanceVar_Vt_dX=0.0;
instanceStruct.instanceVar_VtINV=in.VtINV;
instanceStruct.d_instanceVar_VtINV_dX=0.0;
instanceStruct.instanceVar_VDE_T=in.VDE_T;
instanceStruct.d_instanceVar_VDE_T_dX=0.0;
instanceStruct.instanceVar_VDC_T=in.VDC_T;
instanceStruct.d_instanceVar_VDC_T_dX=0.0;
instanceStruct.instanceVar_XP_T=in.XP_T;
instanceStruct.d_instanceVar_XP_T_dX=0.0;
instanceStruct.instanceVar_BF_T=in.BF_T;
instanceStruct.d_instanceVar_BF_T_dX=0.0;
instanceStruct.instanceVar_BRI_T=in.BRI_T;
instanceStruct.d_instanceVar_BRI_T_dX=0.0;
instanceStruct.instanceVar_IS_T=in.IS_T;
instanceStruct.d_instanceVar_IS_T_dX=0.0;
instanceStruct.instanceVar_VEF_T=in.VEF_T;
instanceStruct.d_instanceVar_VEF_T_dX=0.0;
instanceStruct.instanceVar_VER_T=in.VER_T;
instanceStruct.d_instanceVar_VER_T_dX=0.0;
instanceStruct.instanceVar_nZEB_T=in.nZEB_T;
instanceStruct.d_instanceVar_nZEB_T_dX=0.0;
instanceStruct.instanceVar_pow2_2mPE=in.pow2_2mPE;
instanceStruct.d_instanceVar_pow2_2mPE_dX=0.0;
instanceStruct.instanceVar_pow2_PEm2=in.pow2_PEm2;
instanceStruct.d_instanceVar_pow2_PEm2_dX=0.0;
instanceStruct.instanceVar_inv_VDE_T=in.inv_VDE_T;
instanceStruct.d_instanceVar_inv_VDE_T_dX=0.0;
instanceStruct.instanceVar_VGZEB_T=in.VGZEB_T;
instanceStruct.d_instanceVar_VGZEB_T_dX=0.0;
instanceStruct.instanceVar_TAUE_T=in.TAUE_T;
instanceStruct.d_instanceVar_TAUE_T_dX=0.0;
instanceStruct.instanceVar_TAUB_T=in.TAUB_T;
instanceStruct.d_instanceVar_TAUB_T_dX=0.0;
instanceStruct.instanceVar_TEPI_T=in.TEPI_T;
instanceStruct.d_instanceVar_TEPI_T_dX=0.0;
instanceStruct.instanceVar_TAUR_T=in.TAUR_T;
instanceStruct.d_instanceVar_TAUR_T_dX=0.0;
instanceStruct.instanceVar_BnT=in.BnT;
instanceStruct.d_instanceVar_BnT_dX=0.0;
instanceStruct.instanceVar_DEG_T=in.DEG_T;
instanceStruct.d_instanceVar_DEG_T_dX=0.0;
instanceStruct.instanceVar_VDS_T=in.VDS_T;
instanceStruct.d_instanceVar_VDS_T_dX=0.0;
instanceStruct.instanceVar_IKS_T=in.IKS_T;
instanceStruct.d_instanceVar_IKS_T_dX=0.0;
instanceStruct.instanceVar_IS_TM=in.IS_TM;
instanceStruct.d_instanceVar_IS_TM_dX=0.0;
instanceStruct.instanceVar_IK_TM=in.IK_TM;
instanceStruct.d_instanceVar_IK_TM_dX=0.0;
instanceStruct.instanceVar_IBF_TM=in.IBF_TM;
instanceStruct.d_instanceVar_IBF_TM_dX=0.0;
instanceStruct.instanceVar_IBR_TM=in.IBR_TM;
instanceStruct.d_instanceVar_IBR_TM_dX=0.0;
instanceStruct.instanceVar_IHC_M=in.IHC_M;
instanceStruct.d_instanceVar_IHC_M_dX=0.0;
instanceStruct.instanceVar_IZEB_TM=in.IZEB_TM;
instanceStruct.d_instanceVar_IZEB_TM_dX=0.0;
instanceStruct.instanceVar_CJE_TM=in.CJE_TM;
instanceStruct.d_instanceVar_CJE_TM_dX=0.0;
instanceStruct.instanceVar_CJC_TM=in.CJC_TM;
instanceStruct.d_instanceVar_CJC_TM_dX=0.0;
instanceStruct.instanceVar_RE_TM=in.RE_TM;
instanceStruct.d_instanceVar_RE_TM_dX=0.0;
instanceStruct.instanceVar_RBC_TM=in.RBC_TM;
instanceStruct.d_instanceVar_RBC_TM_dX=0.0;
instanceStruct.instanceVar_RBV_TM=in.RBV_TM;
instanceStruct.d_instanceVar_RBV_TM_dX=0.0;
instanceStruct.instanceVar_RCV_TM=in.RCV_TM;
instanceStruct.d_instanceVar_RCV_TM_dX=0.0;
instanceStruct.instanceVar_SCRCV_M=in.SCRCV_M;
instanceStruct.d_instanceVar_SCRCV_M_dX=0.0;
instanceStruct.instanceVar_RCCxx_TM=in.RCCxx_TM;
instanceStruct.d_instanceVar_RCCxx_TM_dX=0.0;
instanceStruct.instanceVar_RCCex_TM=in.RCCex_TM;
instanceStruct.d_instanceVar_RCCex_TM_dX=0.0;
instanceStruct.instanceVar_RCCin_TM=in.RCCin_TM;
instanceStruct.d_instanceVar_RCCin_TM_dX=0.0;
instanceStruct.instanceVar_GCCxx_TM=in.GCCxx_TM;
instanceStruct.d_instanceVar_GCCxx_TM_dX=0.0;
instanceStruct.instanceVar_GCCex_TM=in.GCCex_TM;
instanceStruct.d_instanceVar_GCCex_TM_dX=0.0;
instanceStruct.instanceVar_GCCin_TM=in.GCCin_TM;
instanceStruct.d_instanceVar_GCCin_TM_dX=0.0;
instanceStruct.instanceVar_KF_M=in.KF_M;
instanceStruct.d_instanceVar_KF_M_dX=0.0;
instanceStruct.instanceVar_KFN_M=in.KFN_M;
instanceStruct.d_instanceVar_KFN_M_dX=0.0;
instanceStruct.instanceVar_ISS_TM=in.ISS_TM;
instanceStruct.d_instanceVar_ISS_TM_dX=0.0;
instanceStruct.instanceVar_ICSS_TM=in.ICSS_TM;
instanceStruct.d_instanceVar_ICSS_TM_dX=0.0;
instanceStruct.instanceVar_IKS_TM=in.IKS_TM;
instanceStruct.d_instanceVar_IKS_TM_dX=0.0;
instanceStruct.instanceVar_CJS_TM=in.CJS_TM;
instanceStruct.d_instanceVar_CJS_TM_dX=0.0;
instanceStruct.instanceVar_Xext1=in.Xext1;
instanceStruct.d_instanceVar_Xext1_dX=0.0;
instanceStruct.instanceVar_CBEO_M=in.CBEO_M;
instanceStruct.d_instanceVar_CBEO_M_dX=0.0;
instanceStruct.instanceVar_CBCO_M=in.CBCO_M;
instanceStruct.d_instanceVar_CBCO_M_dX=0.0;
instanceStruct.instanceVar_dxa=in.dxa;
instanceStruct.d_instanceVar_dxa_dX=0.0;


//non-reals


//make local copies of all model vars
//reals


// non-reals



Linear::Vector * solVectorPtr = in.extData.nextSolVectorPtr;

// extract solution variables
probeVars[in.admsProbeID_V_s_GND] = (*solVectorPtr)[in.li_s];
probeVars[in.admsProbeID_V_b_GND] = (*solVectorPtr)[in.li_b];
probeVars[in.admsProbeID_V_b2_GND] = (*solVectorPtr)[in.li_b2];
probeVars[in.admsProbeID_V_b1_GND] = (*solVectorPtr)[in.li_b1];
probeVars[in.admsProbeID_V_e_GND] = (*solVectorPtr)[in.li_e];
probeVars[in.admsProbeID_V_c1_GND] = (*solVectorPtr)[in.li_c1];
probeVars[in.admsProbeID_V_c2_GND] = (*solVectorPtr)[in.li_c2];
probeVars[in.admsProbeID_V_e1_GND] = (*solVectorPtr)[in.li_e1];
probeVars[in.admsProbeID_V_s_c] = (*solVectorPtr)[in.li_s]- (*solVectorPtr)[in.li_c];
probeVars[in.admsProbeID_V_b_s] = (*solVectorPtr)[in.li_b]- (*solVectorPtr)[in.li_s];
probeVars[in.admsProbeID_V_s_e] = (*solVectorPtr)[in.li_s]- (*solVectorPtr)[in.li_e];
probeVars[in.admsProbeID_V_c_e] = (*solVectorPtr)[in.li_c]- (*solVectorPtr)[in.li_e];
probeVars[in.admsProbeID_V_noi_GND] = (*solVectorPtr)[in.li_noi];
probeVars[in.admsProbeID_V_c3_c1] = (*solVectorPtr)[in.li_c3]- (*solVectorPtr)[in.li_c1];
probeVars[in.admsProbeID_V_c3_c4] = (*solVectorPtr)[in.li_c3]- (*solVectorPtr)[in.li_c4];
probeVars[in.admsProbeID_V_c4_c1] = (*solVectorPtr)[in.li_c4]- (*solVectorPtr)[in.li_c1];
probeVars[in.admsProbeID_V_b_c] = (*solVectorPtr)[in.li_b]- (*solVectorPtr)[in.li_c];
probeVars[in.admsProbeID_V_b_e] = (*solVectorPtr)[in.li_b]- (*solVectorPtr)[in.li_e];
probeVars[in.admsProbeID_V_b_b1] = (*solVectorPtr)[in.li_b]- (*solVectorPtr)[in.li_b1];
probeVars[in.admsProbeID_V_e_e1] = (*solVectorPtr)[in.li_e]- (*solVectorPtr)[in.li_e1];
probeVars[in.admsProbeID_V_c1_c2] = (*solVectorPtr)[in.li_c1]- (*solVectorPtr)[in.li_c2];
probeVars[in.admsProbeID_V_s_c1] = (*solVectorPtr)[in.li_s]- (*solVectorPtr)[in.li_c1];
probeVars[in.admsProbeID_V_b1_b2] = (*solVectorPtr)[in.li_b1]- (*solVectorPtr)[in.li_b2];
probeVars[in.admsProbeID_V_b1_e1] = (*solVectorPtr)[in.li_b1]- (*solVectorPtr)[in.li_e1];
probeVars[in.admsProbeID_V_b2_e1] = (*solVectorPtr)[in.li_b2]- (*solVectorPtr)[in.li_e1];
probeVars[in.admsProbeID_V_b2_c2] = (*solVectorPtr)[in.li_b2]- (*solVectorPtr)[in.li_c2];
probeVars[in.admsProbeID_V_b2_c1] = (*solVectorPtr)[in.li_b2]- (*solVectorPtr)[in.li_c1];


    // pre-multiply any "typed" probes (i.e. those limited with "typedpnjlim")

              probeVars[in.admsProbeID_V_b1_b2] *= modelStruct.modelPar_TYPE;
              probeVars[in.admsProbeID_V_b1_e1] *= modelStruct.modelPar_TYPE;
              probeVars[in.admsProbeID_V_b2_c2] *= modelStruct.modelPar_TYPE;
              probeVars[in.admsProbeID_V_b2_c1] *= modelStruct.modelPar_TYPE;

evaluateInitialInstance(
instanceStruct,
modelStruct,
in.admsTemperature,in.adms_vt_nom,in.getDeviceOptions().gmin,in);


// Now call  the function that does the heavy lifting.
evaluateModelEquations(
probeVars,
// probe constants
in.admsProbeID_V_s_GND,
in.admsProbeID_V_b_GND,
in.admsProbeID_V_b2_GND,
in.admsProbeID_V_b1_GND,
in.admsProbeID_V_e_GND,
in.admsProbeID_V_c1_GND,
in.admsProbeID_V_c2_GND,
in.admsProbeID_V_e1_GND,
in.admsProbeID_V_s_c,
in.admsProbeID_V_b_s,
in.admsProbeID_V_s_e,
in.admsProbeID_V_c_e,
in.admsProbeID_V_noi_GND,
in.admsProbeID_V_c3_c1,
in.admsProbeID_V_c3_c4,
in.admsProbeID_V_c4_c1,
in.admsProbeID_V_b_c,
in.admsProbeID_V_b_e,
in.admsProbeID_V_b_b1,
in.admsProbeID_V_e_e1,
in.admsProbeID_V_c1_c2,
in.admsProbeID_V_s_c1,
in.admsProbeID_V_b1_b2,
in.admsProbeID_V_b1_e1,
in.admsProbeID_V_b2_e1,
in.admsProbeID_V_b2_c2,
in.admsProbeID_V_b2_c1,

// node constants
in.admsNodeID_c,
in.admsNodeID_b,
in.admsNodeID_e,
in.admsNodeID_s,
in.admsNodeID_e1,
in.admsNodeID_b1,
in.admsNodeID_b2,
in.admsNodeID_c1,
in.admsNodeID_c2,
in.admsNodeID_c3,
in.admsNodeID_c4,
in.admsNodeID_noi,
instanceStruct,
modelStruct,
 in.admsTemperature,
 in.adms_vt_nom,
 in.getDeviceOptions().gmin,
 d_staticContributions_dX,
 d_dynamicContributions_dX,
 in);


// We now have the F and Q vector stuff, populate the dependencies:

    dfdp[in.admsNodeID_c] += d_staticContributions_dX[in.admsNodeID_c];
    dqdp[in.admsNodeID_c] += d_dynamicContributions_dX[in.admsNodeID_c];
    Findices[in.admsNodeID_c] = in.li_c;
    Qindices[in.admsNodeID_c] = in.li_c;
    dfdp[in.admsNodeID_b] += d_staticContributions_dX[in.admsNodeID_b];
    dqdp[in.admsNodeID_b] += d_dynamicContributions_dX[in.admsNodeID_b];
    Findices[in.admsNodeID_b] = in.li_b;
    Qindices[in.admsNodeID_b] = in.li_b;
    dfdp[in.admsNodeID_e] += d_staticContributions_dX[in.admsNodeID_e];
    dqdp[in.admsNodeID_e] += d_dynamicContributions_dX[in.admsNodeID_e];
    Findices[in.admsNodeID_e] = in.li_e;
    Qindices[in.admsNodeID_e] = in.li_e;
    dfdp[in.admsNodeID_s] += d_staticContributions_dX[in.admsNodeID_s];
    dqdp[in.admsNodeID_s] += d_dynamicContributions_dX[in.admsNodeID_s];
    Findices[in.admsNodeID_s] = in.li_s;
    Qindices[in.admsNodeID_s] = in.li_s;
    dfdp[in.admsNodeID_e1] += d_staticContributions_dX[in.admsNodeID_e1];
    dqdp[in.admsNodeID_e1] += d_dynamicContributions_dX[in.admsNodeID_e1];
    Findices[in.admsNodeID_e1] = in.li_e1;
    Qindices[in.admsNodeID_e1] = in.li_e1;
    dfdp[in.admsNodeID_b1] += d_staticContributions_dX[in.admsNodeID_b1];
    dqdp[in.admsNodeID_b1] += d_dynamicContributions_dX[in.admsNodeID_b1];
    Findices[in.admsNodeID_b1] = in.li_b1;
    Qindices[in.admsNodeID_b1] = in.li_b1;
    dfdp[in.admsNodeID_b2] += d_staticContributions_dX[in.admsNodeID_b2];
    dqdp[in.admsNodeID_b2] += d_dynamicContributions_dX[in.admsNodeID_b2];
    Findices[in.admsNodeID_b2] = in.li_b2;
    Qindices[in.admsNodeID_b2] = in.li_b2;
    dfdp[in.admsNodeID_c1] += d_staticContributions_dX[in.admsNodeID_c1];
    dqdp[in.admsNodeID_c1] += d_dynamicContributions_dX[in.admsNodeID_c1];
    Findices[in.admsNodeID_c1] = in.li_c1;
    Qindices[in.admsNodeID_c1] = in.li_c1;
    dfdp[in.admsNodeID_c2] += d_staticContributions_dX[in.admsNodeID_c2];
    dqdp[in.admsNodeID_c2] += d_dynamicContributions_dX[in.admsNodeID_c2];
    Findices[in.admsNodeID_c2] = in.li_c2;
    Qindices[in.admsNodeID_c2] = in.li_c2;
    dfdp[in.admsNodeID_c3] += d_staticContributions_dX[in.admsNodeID_c3];
    dqdp[in.admsNodeID_c3] += d_dynamicContributions_dX[in.admsNodeID_c3];
    Findices[in.admsNodeID_c3] = in.li_c3;
    Qindices[in.admsNodeID_c3] = in.li_c3;
    dfdp[in.admsNodeID_c4] += d_staticContributions_dX[in.admsNodeID_c4];
    dqdp[in.admsNodeID_c4] += d_dynamicContributions_dX[in.admsNodeID_c4];
    Findices[in.admsNodeID_c4] = in.li_c4;
    Qindices[in.admsNodeID_c4] = in.li_c4;
    dfdp[in.admsNodeID_noi] += d_staticContributions_dX[in.admsNodeID_noi];
    dqdp[in.admsNodeID_noi] += d_dynamicContributions_dX[in.admsNodeID_noi];
    Findices[in.admsNodeID_noi] = in.li_noi;
    Qindices[in.admsNodeID_noi] = in.li_noi;


}

//-----------------------------------------------------------------------------
// Function      : ModelSensitivity::operator()
// Purpose       : return sensitivity for a single model parameter
// Special Notes :
// Scope         : public
// Creator       : admsXml
// Creation Date :
//-----------------------------------------------------------------------------
/// Compute sensitivity to a specified model
/// parameter of all device instances of that model's outputs
///
///
/// @param[in] entity  The device entity that owns the parameter
/// @param[in] name    The unadorned parameter name specific to the entity
/// @param[out] dfdp   The derivative of the F vector with respect to the parameter
/// @param[out] dqdp   The derivative of the Q vector with respect to the parameter
/// @param[out] dbdp   The derivative of the B vector with respect to the parameter
/// @param[out] Findices   The indices into the F vector corresponding to the elements of dfdp
/// @param[out] Qindices   The indices into the Q vector corresponding to the elements of dfdp
/// @param[out] Bindices   The indices into the B vector corresponding to the elements of dfdp
///
///
void ModelSensitivity::operator()
(
const ParameterBase &entity,
const std::string &name,
std::vector<double> & dfdp,
std::vector<double> & dqdp,
std::vector<double> & dbdp,
std::vector<int> & Findices,
std::vector<int> & Qindices,
std::vector<int> & Bindices
) const
{
const ParameterBase * e1 = &entity;
const Model & mod = *(dynamic_cast<const Model *> (e1));
int sizeInstance = mod.instanceContainer.size();

dfdp.resize((12+0)*sizeInstance);
dqdp.resize((12+0)*sizeInstance);
Findices.resize((12+0)*sizeInstance);
Qindices.resize((12+0)*sizeInstance);

std::vector <double> probeVars(27);
std::vector <double> d_staticContributions_dX(12+0);
std::vector <double> d_dynamicContributions_dX(12+0);


// Copy out all the model parameters (doubles) into local structure
modelSensStruct modelStruct;

// Keep a map so we can set the right one to the independent variable
// We do this solely to avoid a big ugly "if/else" block just to find the
// one parameter we're doing sensitivities on.
unordered_map <std::string,double*,HashNoCase,EqualNoCase> modParamMap;

// reals
modelStruct.modelPar_TREF=mod.TREF;
modelStruct.d_modelPar_TREF_dX=0.0;
modelStruct.modelPar_given_TREF=mod.given("TREF");
modParamMap["TREF"] = &(modelStruct.d_modelPar_TREF_dX);
modelStruct.modelPar_DTA=mod.DTA;
modelStruct.d_modelPar_DTA_dX=0.0;
modelStruct.modelPar_given_DTA=mod.given("DTA");
modParamMap["DTA"] = &(modelStruct.d_modelPar_DTA_dX);
modelStruct.modelPar_IS=mod.IS;
modelStruct.d_modelPar_IS_dX=0.0;
modelStruct.modelPar_given_IS=mod.given("IS");
modParamMap["IS"] = &(modelStruct.d_modelPar_IS_dX);
modelStruct.modelPar_IK=mod.IK;
modelStruct.d_modelPar_IK_dX=0.0;
modelStruct.modelPar_given_IK=mod.given("IK");
modParamMap["IK"] = &(modelStruct.d_modelPar_IK_dX);
modelStruct.modelPar_VER=mod.VER;
modelStruct.d_modelPar_VER_dX=0.0;
modelStruct.modelPar_given_VER=mod.given("VER");
modParamMap["VER"] = &(modelStruct.d_modelPar_VER_dX);
modelStruct.modelPar_VEF=mod.VEF;
modelStruct.d_modelPar_VEF_dX=0.0;
modelStruct.modelPar_given_VEF=mod.given("VEF");
modParamMap["VEF"] = &(modelStruct.d_modelPar_VEF_dX);
modelStruct.modelPar_BF=mod.BF;
modelStruct.d_modelPar_BF_dX=0.0;
modelStruct.modelPar_given_BF=mod.given("BF");
modParamMap["BF"] = &(modelStruct.d_modelPar_BF_dX);
modelStruct.modelPar_IBF=mod.IBF;
modelStruct.d_modelPar_IBF_dX=0.0;
modelStruct.modelPar_given_IBF=mod.given("IBF");
modParamMap["IBF"] = &(modelStruct.d_modelPar_IBF_dX);
modelStruct.modelPar_MLF=mod.MLF;
modelStruct.d_modelPar_MLF_dX=0.0;
modelStruct.modelPar_given_MLF=mod.given("MLF");
modParamMap["MLF"] = &(modelStruct.d_modelPar_MLF_dX);
modelStruct.modelPar_XIBI=mod.XIBI;
modelStruct.d_modelPar_XIBI_dX=0.0;
modelStruct.modelPar_given_XIBI=mod.given("XIBI");
modParamMap["XIBI"] = &(modelStruct.d_modelPar_XIBI_dX);
modelStruct.modelPar_IZEB=mod.IZEB;
modelStruct.d_modelPar_IZEB_dX=0.0;
modelStruct.modelPar_given_IZEB=mod.given("IZEB");
modParamMap["IZEB"] = &(modelStruct.d_modelPar_IZEB_dX);
modelStruct.modelPar_NZEB=mod.NZEB;
modelStruct.d_modelPar_NZEB_dX=0.0;
modelStruct.modelPar_given_NZEB=mod.given("NZEB");
modParamMap["NZEB"] = &(modelStruct.d_modelPar_NZEB_dX);
modelStruct.modelPar_BRI=mod.BRI;
modelStruct.d_modelPar_BRI_dX=0.0;
modelStruct.modelPar_given_BRI=mod.given("BRI");
modParamMap["BRI"] = &(modelStruct.d_modelPar_BRI_dX);
modelStruct.modelPar_IBR=mod.IBR;
modelStruct.d_modelPar_IBR_dX=0.0;
modelStruct.modelPar_given_IBR=mod.given("IBR");
modParamMap["IBR"] = &(modelStruct.d_modelPar_IBR_dX);
modelStruct.modelPar_VLR=mod.VLR;
modelStruct.d_modelPar_VLR_dX=0.0;
modelStruct.modelPar_given_VLR=mod.given("VLR");
modParamMap["VLR"] = &(modelStruct.d_modelPar_VLR_dX);
modelStruct.modelPar_XEXT=mod.XEXT;
modelStruct.d_modelPar_XEXT_dX=0.0;
modelStruct.modelPar_given_XEXT=mod.given("XEXT");
modParamMap["XEXT"] = &(modelStruct.d_modelPar_XEXT_dX);
modelStruct.modelPar_WAVL=mod.WAVL;
modelStruct.d_modelPar_WAVL_dX=0.0;
modelStruct.modelPar_given_WAVL=mod.given("WAVL");
modParamMap["WAVL"] = &(modelStruct.d_modelPar_WAVL_dX);
modelStruct.modelPar_VAVL=mod.VAVL;
modelStruct.d_modelPar_VAVL_dX=0.0;
modelStruct.modelPar_given_VAVL=mod.given("VAVL");
modParamMap["VAVL"] = &(modelStruct.d_modelPar_VAVL_dX);
modelStruct.modelPar_SFH=mod.SFH;
modelStruct.d_modelPar_SFH_dX=0.0;
modelStruct.modelPar_given_SFH=mod.given("SFH");
modParamMap["SFH"] = &(modelStruct.d_modelPar_SFH_dX);
modelStruct.modelPar_RE=mod.RE;
modelStruct.d_modelPar_RE_dX=0.0;
modelStruct.modelPar_given_RE=mod.given("RE");
modParamMap["RE"] = &(modelStruct.d_modelPar_RE_dX);
modelStruct.modelPar_RBC=mod.RBC;
modelStruct.d_modelPar_RBC_dX=0.0;
modelStruct.modelPar_given_RBC=mod.given("RBC");
modParamMap["RBC"] = &(modelStruct.d_modelPar_RBC_dX);
modelStruct.modelPar_RBV=mod.RBV;
modelStruct.d_modelPar_RBV_dX=0.0;
modelStruct.modelPar_given_RBV=mod.given("RBV");
modParamMap["RBV"] = &(modelStruct.d_modelPar_RBV_dX);
modelStruct.modelPar_RCC=mod.RCC;
modelStruct.d_modelPar_RCC_dX=0.0;
modelStruct.modelPar_given_RCC=mod.given("RCC");
modParamMap["RCC"] = &(modelStruct.d_modelPar_RCC_dX);
modelStruct.modelPar_RCV=mod.RCV;
modelStruct.d_modelPar_RCV_dX=0.0;
modelStruct.modelPar_given_RCV=mod.given("RCV");
modParamMap["RCV"] = &(modelStruct.d_modelPar_RCV_dX);
modelStruct.modelPar_SCRCV=mod.SCRCV;
modelStruct.d_modelPar_SCRCV_dX=0.0;
modelStruct.modelPar_given_SCRCV=mod.given("SCRCV");
modParamMap["SCRCV"] = &(modelStruct.d_modelPar_SCRCV_dX);
modelStruct.modelPar_IHC=mod.IHC;
modelStruct.d_modelPar_IHC_dX=0.0;
modelStruct.modelPar_given_IHC=mod.given("IHC");
modParamMap["IHC"] = &(modelStruct.d_modelPar_IHC_dX);
modelStruct.modelPar_AXI=mod.AXI;
modelStruct.d_modelPar_AXI_dX=0.0;
modelStruct.modelPar_given_AXI=mod.given("AXI");
modParamMap["AXI"] = &(modelStruct.d_modelPar_AXI_dX);
modelStruct.modelPar_CJE=mod.CJE;
modelStruct.d_modelPar_CJE_dX=0.0;
modelStruct.modelPar_given_CJE=mod.given("CJE");
modParamMap["CJE"] = &(modelStruct.d_modelPar_CJE_dX);
modelStruct.modelPar_VDE=mod.VDE;
modelStruct.d_modelPar_VDE_dX=0.0;
modelStruct.modelPar_given_VDE=mod.given("VDE");
modParamMap["VDE"] = &(modelStruct.d_modelPar_VDE_dX);
modelStruct.modelPar_PE=mod.PE;
modelStruct.d_modelPar_PE_dX=0.0;
modelStruct.modelPar_given_PE=mod.given("PE");
modParamMap["PE"] = &(modelStruct.d_modelPar_PE_dX);
modelStruct.modelPar_XCJE=mod.XCJE;
modelStruct.d_modelPar_XCJE_dX=0.0;
modelStruct.modelPar_given_XCJE=mod.given("XCJE");
modParamMap["XCJE"] = &(modelStruct.d_modelPar_XCJE_dX);
modelStruct.modelPar_CBEO=mod.CBEO;
modelStruct.d_modelPar_CBEO_dX=0.0;
modelStruct.modelPar_given_CBEO=mod.given("CBEO");
modParamMap["CBEO"] = &(modelStruct.d_modelPar_CBEO_dX);
modelStruct.modelPar_CJC=mod.CJC;
modelStruct.d_modelPar_CJC_dX=0.0;
modelStruct.modelPar_given_CJC=mod.given("CJC");
modParamMap["CJC"] = &(modelStruct.d_modelPar_CJC_dX);
modelStruct.modelPar_VDC=mod.VDC;
modelStruct.d_modelPar_VDC_dX=0.0;
modelStruct.modelPar_given_VDC=mod.given("VDC");
modParamMap["VDC"] = &(modelStruct.d_modelPar_VDC_dX);
modelStruct.modelPar_PC=mod.PC;
modelStruct.d_modelPar_PC_dX=0.0;
modelStruct.modelPar_given_PC=mod.given("PC");
modParamMap["PC"] = &(modelStruct.d_modelPar_PC_dX);
modelStruct.modelPar_XP=mod.XP;
modelStruct.d_modelPar_XP_dX=0.0;
modelStruct.modelPar_given_XP=mod.given("XP");
modParamMap["XP"] = &(modelStruct.d_modelPar_XP_dX);
modelStruct.modelPar_MC=mod.MC;
modelStruct.d_modelPar_MC_dX=0.0;
modelStruct.modelPar_given_MC=mod.given("MC");
modParamMap["MC"] = &(modelStruct.d_modelPar_MC_dX);
modelStruct.modelPar_XCJC=mod.XCJC;
modelStruct.d_modelPar_XCJC_dX=0.0;
modelStruct.modelPar_given_XCJC=mod.given("XCJC");
modParamMap["XCJC"] = &(modelStruct.d_modelPar_XCJC_dX);
modelStruct.modelPar_RCBLX=mod.RCBLX;
modelStruct.d_modelPar_RCBLX_dX=0.0;
modelStruct.modelPar_given_RCBLX=mod.given("RCBLX");
modParamMap["RCBLX"] = &(modelStruct.d_modelPar_RCBLX_dX);
modelStruct.modelPar_RCBLI=mod.RCBLI;
modelStruct.d_modelPar_RCBLI_dX=0.0;
modelStruct.modelPar_given_RCBLI=mod.given("RCBLI");
modParamMap["RCBLI"] = &(modelStruct.d_modelPar_RCBLI_dX);
modelStruct.modelPar_CBCO=mod.CBCO;
modelStruct.d_modelPar_CBCO_dX=0.0;
modelStruct.modelPar_given_CBCO=mod.given("CBCO");
modParamMap["CBCO"] = &(modelStruct.d_modelPar_CBCO_dX);
modelStruct.modelPar_MTAU=mod.MTAU;
modelStruct.d_modelPar_MTAU_dX=0.0;
modelStruct.modelPar_given_MTAU=mod.given("MTAU");
modParamMap["MTAU"] = &(modelStruct.d_modelPar_MTAU_dX);
modelStruct.modelPar_TAUE=mod.TAUE;
modelStruct.d_modelPar_TAUE_dX=0.0;
modelStruct.modelPar_given_TAUE=mod.given("TAUE");
modParamMap["TAUE"] = &(modelStruct.d_modelPar_TAUE_dX);
modelStruct.modelPar_TAUB=mod.TAUB;
modelStruct.d_modelPar_TAUB_dX=0.0;
modelStruct.modelPar_given_TAUB=mod.given("TAUB");
modParamMap["TAUB"] = &(modelStruct.d_modelPar_TAUB_dX);
modelStruct.modelPar_TEPI=mod.TEPI;
modelStruct.d_modelPar_TEPI_dX=0.0;
modelStruct.modelPar_given_TEPI=mod.given("TEPI");
modParamMap["TEPI"] = &(modelStruct.d_modelPar_TEPI_dX);
modelStruct.modelPar_TAUR=mod.TAUR;
modelStruct.d_modelPar_TAUR_dX=0.0;
modelStruct.modelPar_given_TAUR=mod.given("TAUR");
modParamMap["TAUR"] = &(modelStruct.d_modelPar_TAUR_dX);
modelStruct.modelPar_DEG=mod.DEG;
modelStruct.d_modelPar_DEG_dX=0.0;
modelStruct.modelPar_given_DEG=mod.given("DEG");
modParamMap["DEG"] = &(modelStruct.d_modelPar_DEG_dX);
modelStruct.modelPar_XREC=mod.XREC;
modelStruct.d_modelPar_XREC_dX=0.0;
modelStruct.modelPar_given_XREC=mod.given("XREC");
modParamMap["XREC"] = &(modelStruct.d_modelPar_XREC_dX);
modelStruct.modelPar_XQB=mod.XQB;
modelStruct.d_modelPar_XQB_dX=0.0;
modelStruct.modelPar_given_XQB=mod.given("XQB");
modParamMap["XQB"] = &(modelStruct.d_modelPar_XQB_dX);
modelStruct.modelPar_AQBO=mod.AQBO;
modelStruct.d_modelPar_AQBO_dX=0.0;
modelStruct.modelPar_given_AQBO=mod.given("AQBO");
modParamMap["AQBO"] = &(modelStruct.d_modelPar_AQBO_dX);
modelStruct.modelPar_AE=mod.AE;
modelStruct.d_modelPar_AE_dX=0.0;
modelStruct.modelPar_given_AE=mod.given("AE");
modParamMap["AE"] = &(modelStruct.d_modelPar_AE_dX);
modelStruct.modelPar_AB=mod.AB;
modelStruct.d_modelPar_AB_dX=0.0;
modelStruct.modelPar_given_AB=mod.given("AB");
modParamMap["AB"] = &(modelStruct.d_modelPar_AB_dX);
modelStruct.modelPar_AEPI=mod.AEPI;
modelStruct.d_modelPar_AEPI_dX=0.0;
modelStruct.modelPar_given_AEPI=mod.given("AEPI");
modParamMap["AEPI"] = &(modelStruct.d_modelPar_AEPI_dX);
modelStruct.modelPar_AEX=mod.AEX;
modelStruct.d_modelPar_AEX_dX=0.0;
modelStruct.modelPar_given_AEX=mod.given("AEX");
modParamMap["AEX"] = &(modelStruct.d_modelPar_AEX_dX);
modelStruct.modelPar_AC=mod.AC;
modelStruct.d_modelPar_AC_dX=0.0;
modelStruct.modelPar_given_AC=mod.given("AC");
modParamMap["AC"] = &(modelStruct.d_modelPar_AC_dX);
modelStruct.modelPar_ACBL=mod.ACBL;
modelStruct.d_modelPar_ACBL_dX=0.0;
modelStruct.modelPar_given_ACBL=mod.given("ACBL");
modParamMap["ACBL"] = &(modelStruct.d_modelPar_ACBL_dX);
modelStruct.modelPar_DVGBF=mod.DVGBF;
modelStruct.d_modelPar_DVGBF_dX=0.0;
modelStruct.modelPar_given_DVGBF=mod.given("DVGBF");
modParamMap["DVGBF"] = &(modelStruct.d_modelPar_DVGBF_dX);
modelStruct.modelPar_DVGBR=mod.DVGBR;
modelStruct.d_modelPar_DVGBR_dX=0.0;
modelStruct.modelPar_given_DVGBR=mod.given("DVGBR");
modParamMap["DVGBR"] = &(modelStruct.d_modelPar_DVGBR_dX);
modelStruct.modelPar_VGB=mod.VGB;
modelStruct.d_modelPar_VGB_dX=0.0;
modelStruct.modelPar_given_VGB=mod.given("VGB");
modParamMap["VGB"] = &(modelStruct.d_modelPar_VGB_dX);
modelStruct.modelPar_VGC=mod.VGC;
modelStruct.d_modelPar_VGC_dX=0.0;
modelStruct.modelPar_given_VGC=mod.given("VGC");
modParamMap["VGC"] = &(modelStruct.d_modelPar_VGC_dX);
modelStruct.modelPar_VGJ=mod.VGJ;
modelStruct.d_modelPar_VGJ_dX=0.0;
modelStruct.modelPar_given_VGJ=mod.given("VGJ");
modParamMap["VGJ"] = &(modelStruct.d_modelPar_VGJ_dX);
modelStruct.modelPar_VGZEB=mod.VGZEB;
modelStruct.d_modelPar_VGZEB_dX=0.0;
modelStruct.modelPar_given_VGZEB=mod.given("VGZEB");
modParamMap["VGZEB"] = &(modelStruct.d_modelPar_VGZEB_dX);
modelStruct.modelPar_AVGEB=mod.AVGEB;
modelStruct.d_modelPar_AVGEB_dX=0.0;
modelStruct.modelPar_given_AVGEB=mod.given("AVGEB");
modParamMap["AVGEB"] = &(modelStruct.d_modelPar_AVGEB_dX);
modelStruct.modelPar_TVGEB=mod.TVGEB;
modelStruct.d_modelPar_TVGEB_dX=0.0;
modelStruct.modelPar_given_TVGEB=mod.given("TVGEB");
modParamMap["TVGEB"] = &(modelStruct.d_modelPar_TVGEB_dX);
modelStruct.modelPar_DVGTE=mod.DVGTE;
modelStruct.d_modelPar_DVGTE_dX=0.0;
modelStruct.modelPar_given_DVGTE=mod.given("DVGTE");
modParamMap["DVGTE"] = &(modelStruct.d_modelPar_DVGTE_dX);
modelStruct.modelPar_DAIS=mod.DAIS;
modelStruct.d_modelPar_DAIS_dX=0.0;
modelStruct.modelPar_given_DAIS=mod.given("DAIS");
modParamMap["DAIS"] = &(modelStruct.d_modelPar_DAIS_dX);
modelStruct.modelPar_AF=mod.AF;
modelStruct.d_modelPar_AF_dX=0.0;
modelStruct.modelPar_given_AF=mod.given("AF");
modParamMap["AF"] = &(modelStruct.d_modelPar_AF_dX);
modelStruct.modelPar_KF=mod.KF;
modelStruct.d_modelPar_KF_dX=0.0;
modelStruct.modelPar_given_KF=mod.given("KF");
modParamMap["KF"] = &(modelStruct.d_modelPar_KF_dX);
modelStruct.modelPar_KFN=mod.KFN;
modelStruct.d_modelPar_KFN_dX=0.0;
modelStruct.modelPar_given_KFN=mod.given("KFN");
modParamMap["KFN"] = &(modelStruct.d_modelPar_KFN_dX);
modelStruct.modelPar_KE=mod.KE;
modelStruct.d_modelPar_KE_dX=0.0;
modelStruct.modelPar_given_KE=mod.given("KE");
modParamMap["KE"] = &(modelStruct.d_modelPar_KE_dX);
modelStruct.modelPar_FTAUN=mod.FTAUN;
modelStruct.d_modelPar_FTAUN_dX=0.0;
modelStruct.modelPar_given_FTAUN=mod.given("FTAUN");
modParamMap["FTAUN"] = &(modelStruct.d_modelPar_FTAUN_dX);
modelStruct.modelPar_ISS=mod.ISS;
modelStruct.d_modelPar_ISS_dX=0.0;
modelStruct.modelPar_given_ISS=mod.given("ISS");
modParamMap["ISS"] = &(modelStruct.d_modelPar_ISS_dX);
modelStruct.modelPar_ICSS=mod.ICSS;
modelStruct.d_modelPar_ICSS_dX=0.0;
modelStruct.modelPar_given_ICSS=mod.given("ICSS");
modParamMap["ICSS"] = &(modelStruct.d_modelPar_ICSS_dX);
modelStruct.modelPar_IKS=mod.IKS;
modelStruct.d_modelPar_IKS_dX=0.0;
modelStruct.modelPar_given_IKS=mod.given("IKS");
modParamMap["IKS"] = &(modelStruct.d_modelPar_IKS_dX);
modelStruct.modelPar_CJS=mod.CJS;
modelStruct.d_modelPar_CJS_dX=0.0;
modelStruct.modelPar_given_CJS=mod.given("CJS");
modParamMap["CJS"] = &(modelStruct.d_modelPar_CJS_dX);
modelStruct.modelPar_VDS=mod.VDS;
modelStruct.d_modelPar_VDS_dX=0.0;
modelStruct.modelPar_given_VDS=mod.given("VDS");
modParamMap["VDS"] = &(modelStruct.d_modelPar_VDS_dX);
modelStruct.modelPar_PS=mod.PS;
modelStruct.d_modelPar_PS_dX=0.0;
modelStruct.modelPar_given_PS=mod.given("PS");
modParamMap["PS"] = &(modelStruct.d_modelPar_PS_dX);
modelStruct.modelPar_VGS=mod.VGS;
modelStruct.d_modelPar_VGS_dX=0.0;
modelStruct.modelPar_given_VGS=mod.given("VGS");
modParamMap["VGS"] = &(modelStruct.d_modelPar_VGS_dX);
modelStruct.modelPar_AS=mod.AS;
modelStruct.d_modelPar_AS_dX=0.0;
modelStruct.modelPar_given_AS=mod.given("AS");
modParamMap["AS"] = &(modelStruct.d_modelPar_AS_dX);
modelStruct.modelPar_ASUB=mod.ASUB;
modelStruct.d_modelPar_ASUB_dX=0.0;
modelStruct.modelPar_given_ASUB=mod.given("ASUB");
modParamMap["ASUB"] = &(modelStruct.d_modelPar_ASUB_dX);
modelStruct.modelPar_MULT=mod.MULT;
modelStruct.d_modelPar_MULT_dX=0.0;
modelStruct.modelPar_given_MULT=mod.given("MULT");
modParamMap["MULT"] = &(modelStruct.d_modelPar_MULT_dX);
modelStruct.modelPar_GMIN=mod.GMIN;
modelStruct.d_modelPar_GMIN_dX=0.0;
modelStruct.modelPar_given_GMIN=mod.given("GMIN");
modParamMap["GMIN"] = &(modelStruct.d_modelPar_GMIN_dX);


// hidden reals


// non-reals (including hiddens)
modelStruct.modelPar_LEVEL=mod.LEVEL;
modelStruct.modelPar_given_LEVEL=mod.given("LEVEL");
modelStruct.modelPar_EXMOD=mod.EXMOD;
modelStruct.modelPar_given_EXMOD=mod.given("EXMOD");
modelStruct.modelPar_EXPHI=mod.EXPHI;
modelStruct.modelPar_given_EXPHI=mod.given("EXPHI");
modelStruct.modelPar_EXAVL=mod.EXAVL;
modelStruct.modelPar_given_EXAVL=mod.given("EXAVL");
modelStruct.modelPar_EXSUB=mod.EXSUB;
modelStruct.modelPar_given_EXSUB=mod.given("EXSUB");
modelStruct.modelPar_KAVL=mod.KAVL;
modelStruct.modelPar_given_KAVL=mod.given("KAVL");
modelStruct.modelPar_KC=mod.KC;
modelStruct.modelPar_given_KC=mod.given("KC");
modelStruct.modelPar_TYPE=mod.TYPE;
modelStruct.modelPar_given_TYPE=mod.given("TYPE");


// Set the one parameter whose name was passed in to be the independent
// variable for differentiation purposes.  Since we stored variable pointers, this
// makes sure that that ONE variable gets set right.
// FIXME: make this check name for presence first!  Segfault on invalid.
*(modParamMap[name])=1.0;

//make local copies of all model vars
//reals


// non-reals



// Now loop over all instances and do the deed
int inst=0;
for (std::vector<Instance*>::const_iterator in_it=mod.instanceContainer.begin(); in_it != mod.instanceContainer.end(); ++in_it,++inst)
{

  Instance & in=*(*in_it);
  // initialize contributions to zero (automatically sets derivatives to zero)
  for (int i=0; i < 12+0 ; ++i)
  {
  d_staticContributions_dX[i]=0;
  d_dynamicContributions_dX[i]=0;
  }



  // Copy out all the instance parameters (doubles) into local struct
 instanceSensStruct instanceStruct;

 // reals
instanceStruct.instancePar_MULT=in.MULT;
instanceStruct.d_instancePar_MULT_dX=0.0;
instanceStruct.instancePar_given_MULT=in.given("MULT");


  // real hidden instance


  // Copy all the non-real instance params into vars of their appropriate type:




  // If there are any instance parameters that were not given, and have
  // corresponding model params, copy the model param into the instance.
  // This was already done by the instance constructor, but we do it again
  // because now we're propagating derivatives, and the user could be trying
  // to get sensitivity to the model parameter.
   if (!(in.given("MULT")))
   {
      instanceStruct.instancePar_MULT = modelStruct.modelPar_MULT;
      instanceStruct.d_instancePar_MULT_dX = modelStruct.d_modelPar_MULT_dX;
   }


  //make local copies of all instance vars
  //reals
instanceStruct.instanceVar_An=in.An;
instanceStruct.instanceVar_Tk=in.Tk;
instanceStruct.d_instanceVar_Tk_dX=0.0;
instanceStruct.instanceVar_Vt=in.Vt;
instanceStruct.d_instanceVar_Vt_dX=0.0;
instanceStruct.instanceVar_VtINV=in.VtINV;
instanceStruct.d_instanceVar_VtINV_dX=0.0;
instanceStruct.instanceVar_VDE_T=in.VDE_T;
instanceStruct.d_instanceVar_VDE_T_dX=0.0;
instanceStruct.instanceVar_VDC_T=in.VDC_T;
instanceStruct.d_instanceVar_VDC_T_dX=0.0;
instanceStruct.instanceVar_XP_T=in.XP_T;
instanceStruct.d_instanceVar_XP_T_dX=0.0;
instanceStruct.instanceVar_BF_T=in.BF_T;
instanceStruct.d_instanceVar_BF_T_dX=0.0;
instanceStruct.instanceVar_BRI_T=in.BRI_T;
instanceStruct.d_instanceVar_BRI_T_dX=0.0;
instanceStruct.instanceVar_IS_T=in.IS_T;
instanceStruct.d_instanceVar_IS_T_dX=0.0;
instanceStruct.instanceVar_VEF_T=in.VEF_T;
instanceStruct.d_instanceVar_VEF_T_dX=0.0;
instanceStruct.instanceVar_VER_T=in.VER_T;
instanceStruct.d_instanceVar_VER_T_dX=0.0;
instanceStruct.instanceVar_nZEB_T=in.nZEB_T;
instanceStruct.d_instanceVar_nZEB_T_dX=0.0;
instanceStruct.instanceVar_pow2_2mPE=in.pow2_2mPE;
instanceStruct.d_instanceVar_pow2_2mPE_dX=0.0;
instanceStruct.instanceVar_pow2_PEm2=in.pow2_PEm2;
instanceStruct.d_instanceVar_pow2_PEm2_dX=0.0;
instanceStruct.instanceVar_inv_VDE_T=in.inv_VDE_T;
instanceStruct.d_instanceVar_inv_VDE_T_dX=0.0;
instanceStruct.instanceVar_VGZEB_T=in.VGZEB_T;
instanceStruct.d_instanceVar_VGZEB_T_dX=0.0;
instanceStruct.instanceVar_TAUE_T=in.TAUE_T;
instanceStruct.d_instanceVar_TAUE_T_dX=0.0;
instanceStruct.instanceVar_TAUB_T=in.TAUB_T;
instanceStruct.d_instanceVar_TAUB_T_dX=0.0;
instanceStruct.instanceVar_TEPI_T=in.TEPI_T;
instanceStruct.d_instanceVar_TEPI_T_dX=0.0;
instanceStruct.instanceVar_TAUR_T=in.TAUR_T;
instanceStruct.d_instanceVar_TAUR_T_dX=0.0;
instanceStruct.instanceVar_BnT=in.BnT;
instanceStruct.d_instanceVar_BnT_dX=0.0;
instanceStruct.instanceVar_DEG_T=in.DEG_T;
instanceStruct.d_instanceVar_DEG_T_dX=0.0;
instanceStruct.instanceVar_VDS_T=in.VDS_T;
instanceStruct.d_instanceVar_VDS_T_dX=0.0;
instanceStruct.instanceVar_IKS_T=in.IKS_T;
instanceStruct.d_instanceVar_IKS_T_dX=0.0;
instanceStruct.instanceVar_IS_TM=in.IS_TM;
instanceStruct.d_instanceVar_IS_TM_dX=0.0;
instanceStruct.instanceVar_IK_TM=in.IK_TM;
instanceStruct.d_instanceVar_IK_TM_dX=0.0;
instanceStruct.instanceVar_IBF_TM=in.IBF_TM;
instanceStruct.d_instanceVar_IBF_TM_dX=0.0;
instanceStruct.instanceVar_IBR_TM=in.IBR_TM;
instanceStruct.d_instanceVar_IBR_TM_dX=0.0;
instanceStruct.instanceVar_IHC_M=in.IHC_M;
instanceStruct.d_instanceVar_IHC_M_dX=0.0;
instanceStruct.instanceVar_IZEB_TM=in.IZEB_TM;
instanceStruct.d_instanceVar_IZEB_TM_dX=0.0;
instanceStruct.instanceVar_CJE_TM=in.CJE_TM;
instanceStruct.d_instanceVar_CJE_TM_dX=0.0;
instanceStruct.instanceVar_CJC_TM=in.CJC_TM;
instanceStruct.d_instanceVar_CJC_TM_dX=0.0;
instanceStruct.instanceVar_RE_TM=in.RE_TM;
instanceStruct.d_instanceVar_RE_TM_dX=0.0;
instanceStruct.instanceVar_RBC_TM=in.RBC_TM;
instanceStruct.d_instanceVar_RBC_TM_dX=0.0;
instanceStruct.instanceVar_RBV_TM=in.RBV_TM;
instanceStruct.d_instanceVar_RBV_TM_dX=0.0;
instanceStruct.instanceVar_RCV_TM=in.RCV_TM;
instanceStruct.d_instanceVar_RCV_TM_dX=0.0;
instanceStruct.instanceVar_SCRCV_M=in.SCRCV_M;
instanceStruct.d_instanceVar_SCRCV_M_dX=0.0;
instanceStruct.instanceVar_RCCxx_TM=in.RCCxx_TM;
instanceStruct.d_instanceVar_RCCxx_TM_dX=0.0;
instanceStruct.instanceVar_RCCex_TM=in.RCCex_TM;
instanceStruct.d_instanceVar_RCCex_TM_dX=0.0;
instanceStruct.instanceVar_RCCin_TM=in.RCCin_TM;
instanceStruct.d_instanceVar_RCCin_TM_dX=0.0;
instanceStruct.instanceVar_GCCxx_TM=in.GCCxx_TM;
instanceStruct.d_instanceVar_GCCxx_TM_dX=0.0;
instanceStruct.instanceVar_GCCex_TM=in.GCCex_TM;
instanceStruct.d_instanceVar_GCCex_TM_dX=0.0;
instanceStruct.instanceVar_GCCin_TM=in.GCCin_TM;
instanceStruct.d_instanceVar_GCCin_TM_dX=0.0;
instanceStruct.instanceVar_KF_M=in.KF_M;
instanceStruct.d_instanceVar_KF_M_dX=0.0;
instanceStruct.instanceVar_KFN_M=in.KFN_M;
instanceStruct.d_instanceVar_KFN_M_dX=0.0;
instanceStruct.instanceVar_ISS_TM=in.ISS_TM;
instanceStruct.d_instanceVar_ISS_TM_dX=0.0;
instanceStruct.instanceVar_ICSS_TM=in.ICSS_TM;
instanceStruct.d_instanceVar_ICSS_TM_dX=0.0;
instanceStruct.instanceVar_IKS_TM=in.IKS_TM;
instanceStruct.d_instanceVar_IKS_TM_dX=0.0;
instanceStruct.instanceVar_CJS_TM=in.CJS_TM;
instanceStruct.d_instanceVar_CJS_TM_dX=0.0;
instanceStruct.instanceVar_Xext1=in.Xext1;
instanceStruct.d_instanceVar_Xext1_dX=0.0;
instanceStruct.instanceVar_CBEO_M=in.CBEO_M;
instanceStruct.d_instanceVar_CBEO_M_dX=0.0;
instanceStruct.instanceVar_CBCO_M=in.CBCO_M;
instanceStruct.d_instanceVar_CBCO_M_dX=0.0;
instanceStruct.instanceVar_dxa=in.dxa;
instanceStruct.d_instanceVar_dxa_dX=0.0;


  //non-reals



  Linear::Vector * solVectorPtr = in.extData.nextSolVectorPtr;

  // extract solution variables
probeVars[in.admsProbeID_V_s_GND] = (*solVectorPtr)[in.li_s];
probeVars[in.admsProbeID_V_b_GND] = (*solVectorPtr)[in.li_b];
probeVars[in.admsProbeID_V_b2_GND] = (*solVectorPtr)[in.li_b2];
probeVars[in.admsProbeID_V_b1_GND] = (*solVectorPtr)[in.li_b1];
probeVars[in.admsProbeID_V_e_GND] = (*solVectorPtr)[in.li_e];
probeVars[in.admsProbeID_V_c1_GND] = (*solVectorPtr)[in.li_c1];
probeVars[in.admsProbeID_V_c2_GND] = (*solVectorPtr)[in.li_c2];
probeVars[in.admsProbeID_V_e1_GND] = (*solVectorPtr)[in.li_e1];
probeVars[in.admsProbeID_V_s_c] = (*solVectorPtr)[in.li_s] - (*solVectorPtr)[in.li_c];
probeVars[in.admsProbeID_V_b_s] = (*solVectorPtr)[in.li_b] - (*solVectorPtr)[in.li_s];
probeVars[in.admsProbeID_V_s_e] = (*solVectorPtr)[in.li_s] - (*solVectorPtr)[in.li_e];
probeVars[in.admsProbeID_V_c_e] = (*solVectorPtr)[in.li_c] - (*solVectorPtr)[in.li_e];
probeVars[in.admsProbeID_V_noi_GND] = (*solVectorPtr)[in.li_noi];
probeVars[in.admsProbeID_V_c3_c1] = (*solVectorPtr)[in.li_c3] - (*solVectorPtr)[in.li_c1];
probeVars[in.admsProbeID_V_c3_c4] = (*solVectorPtr)[in.li_c3] - (*solVectorPtr)[in.li_c4];
probeVars[in.admsProbeID_V_c4_c1] = (*solVectorPtr)[in.li_c4] - (*solVectorPtr)[in.li_c1];
probeVars[in.admsProbeID_V_b_c] = (*solVectorPtr)[in.li_b] - (*solVectorPtr)[in.li_c];
probeVars[in.admsProbeID_V_b_e] = (*solVectorPtr)[in.li_b] - (*solVectorPtr)[in.li_e];
probeVars[in.admsProbeID_V_b_b1] = (*solVectorPtr)[in.li_b] - (*solVectorPtr)[in.li_b1];
probeVars[in.admsProbeID_V_e_e1] = (*solVectorPtr)[in.li_e] - (*solVectorPtr)[in.li_e1];
probeVars[in.admsProbeID_V_c1_c2] = (*solVectorPtr)[in.li_c1] - (*solVectorPtr)[in.li_c2];
probeVars[in.admsProbeID_V_s_c1] = (*solVectorPtr)[in.li_s] - (*solVectorPtr)[in.li_c1];
probeVars[in.admsProbeID_V_b1_b2] = (*solVectorPtr)[in.li_b1] - (*solVectorPtr)[in.li_b2];
probeVars[in.admsProbeID_V_b1_e1] = (*solVectorPtr)[in.li_b1] - (*solVectorPtr)[in.li_e1];
probeVars[in.admsProbeID_V_b2_e1] = (*solVectorPtr)[in.li_b2] - (*solVectorPtr)[in.li_e1];
probeVars[in.admsProbeID_V_b2_c2] = (*solVectorPtr)[in.li_b2] - (*solVectorPtr)[in.li_c2];
probeVars[in.admsProbeID_V_b2_c1] = (*solVectorPtr)[in.li_b2] - (*solVectorPtr)[in.li_c1];


    // pre-multiply any "typed" probes (i.e. those limited with "typedpnjlim")
probeVars[in.admsProbeID_V_b1_b2] *= modelStruct.modelPar_TYPE;
probeVars[in.admsProbeID_V_b1_e1] *= modelStruct.modelPar_TYPE;
probeVars[in.admsProbeID_V_b2_c2] *= modelStruct.modelPar_TYPE;
probeVars[in.admsProbeID_V_b2_c1] *= modelStruct.modelPar_TYPE;


evaluateInitialInstance(
instanceStruct,
modelStruct,
in.admsTemperature, in.adms_vt_nom,in.getDeviceOptions().gmin,in);


// Now call  the function that does the heavy lifting.

evaluateModelEquations(
probeVars,
// probe constants
in.admsProbeID_V_s_GND,
in.admsProbeID_V_b_GND,
in.admsProbeID_V_b2_GND,
in.admsProbeID_V_b1_GND,
in.admsProbeID_V_e_GND,
in.admsProbeID_V_c1_GND,
in.admsProbeID_V_c2_GND,
in.admsProbeID_V_e1_GND,
in.admsProbeID_V_s_c,
in.admsProbeID_V_b_s,
in.admsProbeID_V_s_e,
in.admsProbeID_V_c_e,
in.admsProbeID_V_noi_GND,
in.admsProbeID_V_c3_c1,
in.admsProbeID_V_c3_c4,
in.admsProbeID_V_c4_c1,
in.admsProbeID_V_b_c,
in.admsProbeID_V_b_e,
in.admsProbeID_V_b_b1,
in.admsProbeID_V_e_e1,
in.admsProbeID_V_c1_c2,
in.admsProbeID_V_s_c1,
in.admsProbeID_V_b1_b2,
in.admsProbeID_V_b1_e1,
in.admsProbeID_V_b2_e1,
in.admsProbeID_V_b2_c2,
in.admsProbeID_V_b2_c1,

// node constants
in.admsNodeID_c,
in.admsNodeID_b,
in.admsNodeID_e,
in.admsNodeID_s,
in.admsNodeID_e1,
in.admsNodeID_b1,
in.admsNodeID_b2,
in.admsNodeID_c1,
in.admsNodeID_c2,
in.admsNodeID_c3,
in.admsNodeID_c4,
in.admsNodeID_noi,
instanceStruct,
modelStruct,
 in.admsTemperature,
 in.adms_vt_nom,
 in.getDeviceOptions().gmin,
 d_staticContributions_dX,
 d_dynamicContributions_dX,
 in);


  // We now have the F and Q vector stuff, populate the dependencies:

    dfdp[in.admsNodeID_c+inst*(12+0)] += d_staticContributions_dX[in.admsNodeID_c];
    dqdp[in.admsNodeID_c+inst*(12+0)] += d_dynamicContributions_dX[in.admsNodeID_c];
    Findices[in.admsNodeID_c+inst*(12+0)] = in.li_c;
    Qindices[in.admsNodeID_c+inst*(12+0)] = in.li_c;
    dfdp[in.admsNodeID_b+inst*(12+0)] += d_staticContributions_dX[in.admsNodeID_b];
    dqdp[in.admsNodeID_b+inst*(12+0)] += d_dynamicContributions_dX[in.admsNodeID_b];
    Findices[in.admsNodeID_b+inst*(12+0)] = in.li_b;
    Qindices[in.admsNodeID_b+inst*(12+0)] = in.li_b;
    dfdp[in.admsNodeID_e+inst*(12+0)] += d_staticContributions_dX[in.admsNodeID_e];
    dqdp[in.admsNodeID_e+inst*(12+0)] += d_dynamicContributions_dX[in.admsNodeID_e];
    Findices[in.admsNodeID_e+inst*(12+0)] = in.li_e;
    Qindices[in.admsNodeID_e+inst*(12+0)] = in.li_e;
    dfdp[in.admsNodeID_s+inst*(12+0)] += d_staticContributions_dX[in.admsNodeID_s];
    dqdp[in.admsNodeID_s+inst*(12+0)] += d_dynamicContributions_dX[in.admsNodeID_s];
    Findices[in.admsNodeID_s+inst*(12+0)] = in.li_s;
    Qindices[in.admsNodeID_s+inst*(12+0)] = in.li_s;
    dfdp[in.admsNodeID_e1+inst*(12+0)] += d_staticContributions_dX[in.admsNodeID_e1];
    dqdp[in.admsNodeID_e1+inst*(12+0)] += d_dynamicContributions_dX[in.admsNodeID_e1];
    Findices[in.admsNodeID_e1+inst*(12+0)] = in.li_e1;
    Qindices[in.admsNodeID_e1+inst*(12+0)] = in.li_e1;
    dfdp[in.admsNodeID_b1+inst*(12+0)] += d_staticContributions_dX[in.admsNodeID_b1];
    dqdp[in.admsNodeID_b1+inst*(12+0)] += d_dynamicContributions_dX[in.admsNodeID_b1];
    Findices[in.admsNodeID_b1+inst*(12+0)] = in.li_b1;
    Qindices[in.admsNodeID_b1+inst*(12+0)] = in.li_b1;
    dfdp[in.admsNodeID_b2+inst*(12+0)] += d_staticContributions_dX[in.admsNodeID_b2];
    dqdp[in.admsNodeID_b2+inst*(12+0)] += d_dynamicContributions_dX[in.admsNodeID_b2];
    Findices[in.admsNodeID_b2+inst*(12+0)] = in.li_b2;
    Qindices[in.admsNodeID_b2+inst*(12+0)] = in.li_b2;
    dfdp[in.admsNodeID_c1+inst*(12+0)] += d_staticContributions_dX[in.admsNodeID_c1];
    dqdp[in.admsNodeID_c1+inst*(12+0)] += d_dynamicContributions_dX[in.admsNodeID_c1];
    Findices[in.admsNodeID_c1+inst*(12+0)] = in.li_c1;
    Qindices[in.admsNodeID_c1+inst*(12+0)] = in.li_c1;
    dfdp[in.admsNodeID_c2+inst*(12+0)] += d_staticContributions_dX[in.admsNodeID_c2];
    dqdp[in.admsNodeID_c2+inst*(12+0)] += d_dynamicContributions_dX[in.admsNodeID_c2];
    Findices[in.admsNodeID_c2+inst*(12+0)] = in.li_c2;
    Qindices[in.admsNodeID_c2+inst*(12+0)] = in.li_c2;
    dfdp[in.admsNodeID_c3+inst*(12+0)] += d_staticContributions_dX[in.admsNodeID_c3];
    dqdp[in.admsNodeID_c3+inst*(12+0)] += d_dynamicContributions_dX[in.admsNodeID_c3];
    Findices[in.admsNodeID_c3+inst*(12+0)] = in.li_c3;
    Qindices[in.admsNodeID_c3+inst*(12+0)] = in.li_c3;
    dfdp[in.admsNodeID_c4+inst*(12+0)] += d_staticContributions_dX[in.admsNodeID_c4];
    dqdp[in.admsNodeID_c4+inst*(12+0)] += d_dynamicContributions_dX[in.admsNodeID_c4];
    Findices[in.admsNodeID_c4+inst*(12+0)] = in.li_c4;
    Qindices[in.admsNodeID_c4+inst*(12+0)] = in.li_c4;
    dfdp[in.admsNodeID_noi+inst*(12+0)] += d_staticContributions_dX[in.admsNodeID_noi];
    dqdp[in.admsNodeID_noi+inst*(12+0)] += d_dynamicContributions_dX[in.admsNodeID_noi];
    Findices[in.admsNodeID_noi+inst*(12+0)] = in.li_noi;
    Qindices[in.admsNodeID_noi+inst*(12+0)] = in.li_noi;
}

}

#endif // Xyce_ADMS_SENSITIVITIES

} // namespace ADMSbjt504va
} // namespace Device
} // namespace Xyce
